大神你好~ 我是一名C++ 初学者 这是我的一个作业~ 可是我看不太懂, 您能不能给我解释一下 ?谢谢~
#include
using namespace std;
#include
class X
{public:
X(int x1,char *x2,float x3):a(x1),c(x3)
{ b=new char[sizeof(x2)+1];
strcpy(b,x2);
}
X():a(0),b("X::X()"),c(10){ }
X(int x1,char *x2="X::X(....)",int x3=10):a(x1),b(x2),c(x3){}
X(const X&other)
{ a=other.a;
b="X::X(const X &other)";
c=other.c;
}
void print()
{ cout<<"a="< private :
int a;
char *b;
float c;
};
int main(){
X *A=new X(4,"X::X(int,char,float)",32);
X B,C(10),D(B);
A->print();
B.print();
C.print();
D.print();
return 0;
}
构造函数后面带的a,b,c是初始化,其实这题就是调用不同的构造函数,主要看它的参数匹配哪一个构造函数!细心一点就可以了!