boolean.cpp:
Boolean::Boolean() : test1(false),test2(false)
{
}
void Boolean::exec() {
test1 = true;
test2 = true;
if ((!test1) && (!test2))
std::cout << "both test1 && test2 are false" << std::endl;
else
std::cout << "test1 is " << test1 << " test2 is " << test2 << std::endl;
}
void Boolean::exec2() {
if ((!test1) && (!test2))
std::cout << "both test1 && test2 are false" << std::endl;
else
std::cout << "test1 is " << test1 << " test2 is " << test2 << std::endl;
}
boolean.h:
class Boolean {
private:
bool test1;
bool test2;
public:
Boolean();
void exec();
void exec2();
};
main.cpp:
int main(int argc, char *argv[]) {
Boolean start;
start.exec();
Boolean start2;
start2.exec2();
}
выход:проблем декларирование логического значения лжи в классе
test1 is 1 test2 is 1
both test1 & test2 are false
, если я использую конструктор по умолчанию для установки test1 и test2 к ложному при запуске. значения, установленные в Boolean :: exec(), будут перезаписаны, если мне нужен новый экземпляр Boolean.
bool test1 = false; объявление не допускается в классе. без конструктора по умолчанию значения bool не инициализируются.
так что самое лучшее решение для объявления bool 'false' и сохранить 'true', если оно установлено?
Я честно признаю, что вопрос не имеет для меня никакого смысла. Вы хотите использовать только один экземпляр 'Boolean'? – raina77ow
Я не совсем понимаю, чего вы пытаетесь достичь; вы можете ввести конструктор, который принимает два аргумента 'bool', поэтому вы можете указать их при создании. 'exec1' изменяет состояние соответствующего экземпляра,' exec2' - нет. Пожалуйста, предоставьте больше информации о том, что такое желаемое поведение. – Codor
второй экземпляр Boolean был предназначен только для вызова конструктора по умолчанию. в общем проекте Я бы использовал другой экземпляр Boolean в другом .cpp файле, например. То, что я пытаюсь достичь, это что-то вроде: установить bool в false при запуске, если строка найдена в файле .txt, установите bool в true, метод другого класса проверяет true или false и делает соответствующие вычисления – 2014-09-11 08:44:19