Эта программа дает правильный результат, но я не могу понять, как это сделать. Как конструктор по умолчанию вызывается во время объявления объекта?Вызов конструктора по умолчанию
#include <iostream>
using namespace std;
class GuessMe {
private:
int *p;
public:
GuessMe(int x=0)
{
p = new int;
}
int GetX()
{
return *p;
}
void SetX(int x)
{
*p = x;
}
~GuessMe()
{
delete p;
}
};
int main() {
GuessMe g1;
g1.SetX(10);
GuessMe g2(g1);
cout << g2.GetX() << endl;
return 0;
}
Вы правы. Код неправильный. Вы должны явно создать конструктор по умолчанию. –
, но он дает правильный результат –
Интересно, тогда –