這是我工作的代碼,我不明白它的發生在構造函數包OBJ2();上輸出只顯示值4(封裝OBJ1(4))和2(包OBJ3(2))
#include <iostream>
using namespace std;
class Package
{
private:
int value;
public:
Package()
{
cout<<"constructor #1"<<endl;
value = 7; cout << value << endl;
}
Package(int v)
{
cout<<"constructor #2"<<endl;
value = v; cout << value << endl;
}
~Package()
{
cout<<"destructor"<<endl;
cout << value << endl;
}
};
int main()
{
Package obj1(4);
Package obj2();
Package obj3(2);
}
我給出了原因,你給了修復! –
調用默認構造函數時不需要'()' –
@EmmanuelN它不僅僅是「不需要」,而是「不能使用」。 – hyde