关于深浅拷贝的问题
有个小问题已经困扰我几天了,希望大家帮我解决一下。
定义一个带有指针成员的类,比如说是char型指针,这时简单的赋值就会出现问题,也就是我们说的深浅拷贝问题。如果一个类中存在char指针,很容易解决。分配新空间,然后利用strcpy函数就能解决这个问题。但是,如果这个指针不是char型的,比如说是一个自定义类型的指针,这个时候要解决深浅拷贝问题应该怎么做?下面是我定义的类及其拷贝函数:
class test
{
int i;
test* t1;
test* t2;
public:
test();
test(test& r)
{
i=r.i;
t1=r.t1;
t2=r.t2;
}
test& operator = (const test& r)
{
i=r.i;
t1=r.t1;
t2=r.t2;
return *this;
}
};
这样定义可以么?如果不行我该怎么做啊?