C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Cтроки, привидение типов
Лена
Отправлено: 06.10.2006, 15:19


Мастер участка

Группа: Участник
Сообщений: 501



Допустим, программа формирует строку с таким значением:
AnsiString P = "False";
Или
AnsiString P = "0";
Я хочу объявить переменную типа bool и присвоить ее значение из строки P. Такое возможно? Так не правильно: bool par = (bool)P;

Admin
Отправлено: 06.10.2006, 15:32


Владимир

Группа: Администратор
Сообщений: 1190



Не надо извращаться, запутаетесь.
Так не правильно, потому что "False" — это строка.

bool par = (P=="False")? false : true;
или через if(...)
Лена
Отправлено: 06.10.2006, 15:38


Мастер участка

Группа: Участник
Сообщений: 501



Понятно.
Это я экспериментировала с привидением типов, для общего развития. smile.gif

Георгий
Отправлено: 13.10.2006, 20:57


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



вот так куда круче
CODE
class myBool{
private:
bool val;
public:
operator std::string()const{return val?"true":false;};
myBool& operator =(const std::string&v)const{val=(v.toLower()==std::string("true"))true?false;};
operator bool()const{return val;};
};
olegenty
Отправлено: 14.10.2006, 06:15


Ветеран

Группа: Модератор
Сообщений: 2412



2 Георгий — навевает мысли о boost::any и visitor smile.gif

Вернуться в Вопросы программирования в C++Builder