定义构造函数时必须使用引用参数或指针参数,否则编译出错,因为引起递归调用,
class student
{
student(student stu) //不可以,必须是引用类型或指针类型
{
}
};
大家把上面的程序写个例子,可以亲身体会下
在一个类的构造函数中不要产生本类的对像,否则会引起构造函数的递归调用
class Derive
{
public:
Derive(void)
{
Derive d; ///产生了递归调用
}
virtual ~Derive(void)
{
}
int d;
};