c++ 关于对象之间的赋值
我看书上说对象之间的赋值如:对象名1=对象名2;类的数据成员中不可以有动态分配的数据否则将出现严重的后果能详细的解释下什么意思吗最好有程序例子说明...
我看书上说对象之间的赋值
如:对象名1=对象名2;
类的数据成员中不可以有动态分配的数据 否则将出现严重的后果
能详细的解释下什么意思吗 最好有程序例子说明 展开
如:对象名1=对象名2;
类的数据成员中不可以有动态分配的数据 否则将出现严重的后果
能详细的解释下什么意思吗 最好有程序例子说明 展开
2个回答
展开全部
对象赋值:默备棚认赋值操作符是把对象的每个数据成员都赋值。
有动态内存分配的举例
class A{
public:
A(){p=new int [100];}
~A(){delete[] p;}
private:
int *p;
};
int main()
{
A a1, a2;
a2 = a1;
return 0;
}
此时a2=a1这一句,a2原来的指针p丢失,内存泄漏。最后a1、a2析构的时候,郑誉原来仿丛则a1.p被delete[]操作符删两次,可能出错。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |