Wir lernen Klassen und ich mache meine Aufgabe, eine Klasse und 5 verschiedene Objekte zu schreiben und den Unterschied anzuzeigen.Ich habe Daten, aber es sagt, kann Variable "Daten" nicht lösen
Der Professor sagte, dass wir Standardkonstruktoren verwenden sollten, und das Buch sagt dies:
Ein Standard-Konstruktor ist ein Konstruktor, der ohne Argumente aufgerufen werden kann (entweder mit einer leeren Parameterliste definiert sind, oder mit Standard Argumente für jeden Parameter angegeben).
Ich mache genau das, was der Lehrer getan hat; kannst du mir bitte sagen, warum es sagt, dass es data
nicht finden kann?
#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;
}
Sie müssen sich über die [Mitglied Zugriffsbezeichner] lernen (http://en.cppreference.com/w/cpp/language/access), was es bedeutet, wenn ein Teilnehmer "privat" ist. –
Und 'theC c1();' ist Funktionsdeklaration. Ändern Sie es in 'theC c1;', dasselbe für andere. – songyuanyao
[Zugriffsspezifizierer] (http://en.cppreference.com/w/cpp/language/access) –