2014-03-28 5 views
0

Итак, у меня есть функция с именем isEmpty(), чтобы проверить, был ли заданный массив заполнен переменными.C++ посылает вывод функции в cout

bool isEmpty() const; 

Это:

bool Array::isEmpty() const 
{ 
    if(elemData == NULL) 
     return true; 
    else 
     return false; 
} 

Я пытаюсь вызвать это в моем main.cpp, так что я могу отправить вывод isEmpty в cout, но я не могу работать, как назвать , Я пробовал кучу разных методов, но я чувствую, что снимаю в темноте, и я не могу найти подобных примеров в другом месте.

Как я могу это сделать?

ответ

2

Вы имеете в виду это ?:

cout << array.isEmpty(); 

Booleans могут быть распечатаны по умолчанию. Фактически, каждый созданный вами класс может распечатывать значения с помощью cout, но только если вы ранее определяли как ostream, так и istream операторов для этого класса.

+0

foo.isEmpty(); дает выражение «Выражение должно быть типом класса». Использует Array foo(); неправильно? –

+0

Не забывайте, что вы можете иметь логическое значение, отображаемое как текст: http://stackoverflow.com/questions/29383/converting-bool-to-text-in-c/29571#29571 –

+2

@JoeofLoath. Это совершенно другая проблема. , [Вот что говорит Кланг с предупреждениями.] (Http://coliru.stacked-crooked.com/a/60eecbf4724a1400) – chris

3

Вы можете непосредственно использовать

std::cout << your_container.isEmpty(); 

Или вы можете даже вывести его любят:

std::cout << std::boolalpha << your_container.isEmpty(); 
Смежные вопросы