Ich bin neu in der Programmierung und wir haben gerade angefangen zu lernen "Klassen". Ich werde Ihnen einen Beispielcode zeigen, den ich im Internet gefunden habe. Meine Frage ist - Sind "add" und "res" Konstruktoren und wie ist es möglich, dass ein Konstruktor einen Wert zurückgibt? "X res und X add" sind keine Methoden vom Typ int und es gibt immer noch einen Wert (es gibt nicht auch eine Variable für res), also bin ich wirklich verwirrt .. Ich habe in ein paar Posts in gesehen stackoverflow diese Konstruktoren können keinen Wert zurückgeben, aber was sind dann "X res und X add"?Methoden/Konstruktoren und ihre Rückgabewerte
#include <iostream>
using namespace std;
class X {
int a;
int b;
public:
X (int a=7, int b=6) {
this->a = a;
this->b = b;
}
void print() {
cout << a << b;
}
X add() {
X res(a+b, a-b);
return res;
}
};
int main() {
X x;
x.add().print();
return 0;
}
Ich denke, ich habe es ... Und am Ende denke ich, dass die Antwort etwas wie - 'x.print ist(); 'wo' x' die Werte 13 und 1 enthält und mit der 'print();' Methode wir sie einfach ausdrucken? – specbk
@specbk Ja, Ihr Verständnis ist richtig. – songyuanyao