Мы изучаем классы, и я выполняю свое задание, чтобы написать класс и 5 разных объектов и показать разницу.У меня есть данные, но он говорит, что не может разрешить переменные «данные»
Профессор сказал, что мы должны использовать конструктор по умолчанию и книга говорит следующее:
Конструктор по умолчанию конструктор, который может быть вызван без аргументов (либо определяется с пустым списком параметров, или по умолчанию аргументы для каждого параметра).
Я делаю именно то, что сделал учитель; не могли бы вы рассказать мне, почему он говорит, что не может найти data
?
#include <iostream>
using namespace std;
class theC
{
private:
string data;
public:
theC() {
printf("default\n");
}
};
int main()
{
theC c1();
theC c2();
theC c3();
theC c4();
theC c5();
c1.data = "different object 1";
c2.data = "different object 2";
c3.data = "different object 3";
c4.data = "different object 4";
c5.data = "different object 5";
cout << c1.data << c2.data << c3.data << c4.data << c5.data;
return 0;
}
Вы должны узнать о [спецификаторов доступа членов] (http://en.cppreference.com/w/cpp/language/access), что это означает, что член класса является «частным». –
И 'theC c1();' является объявлением функции. Измените его на 'cC1;', то же самое для других. – songyuanyao
[спецификаторы доступа] (http://en.cppreference.com/w/cpp/language/access) –