下面的类是对的,
class Member{
const char *ms;
public:
Member(const char * s){
cout << "Member(const char* s): " << s << endl;
ms=s;
}
~Member(){
cout << "~Member(): " << ms << endl;
}
};
class Test{
Member mA;
Member mB;
public:
Test() : mB("mB"), mA("mA") {
Test(){
cout << "Test(): " << endl;
}
~Test(){
cout << "~Test(): " << endl;
}
};
我改了一下,改成如下,报错error: no matching function for call to 'Member::Member()':
class Member{ const char *ms; public: Member(const char * s){ cout << "Member(const char* s): " << s << endl; ms=s; } ~Member(){ cout << "~Member(): " << ms << endl; } }; class Test{ Member mA; Member mB; public: //Test() : mB("mB"), mA("mA") { Test(){ mB="mB"; mA="mA"; ; cout << "Test(): " << endl; } ~Test(){ cout << "~Test(): " << endl; } };