MFC自定义类中类成员包含动态指针时类对象的“=”赋值操作
2015-02-03 19:35
302 查看
如果自定义类中指针需要一定条件才能动态分配,且未对“=”操作进行重载,此时用“=”进行赋值操作可能会出现Debug Assertion Failed的提示错误,因为直接赋值会导致这些指针未被初始化就被使用。比如定义一个图片处理类CBitmapPRO,用来接收、处理图片,类成员中定义了一个二位指针unsigned char **a;,用来动态生成数组保存图片数据,当读图片成功的情况下数组被建立,不成功则不建立,当然析构的时候也要注意。若CBitmapPRO bitpro;bitpro接收数据成功,另一个函数中的CBitmapPRO的对象bitpro0想直接用bitpro的数据,此时直接用“=”进行对象的赋值,则会造成指针未被动态分配就被使用。建议使用指针,即CBitmapPRO
*bitpro0=&bitpro;
*bitpro0=&bitpro;
相关文章推荐
- 类对象可以直接赋值,但数据成员包含指针时 慎重
- 两层指针共用一个智能指针控制基本对象的操作--成员访问操作符
- 对Table的操作(赋值、动态新增行、删除行、保存table中多行数据对象
- java中使用反射做一个工具类,来为指定类中的成员变量进行赋值操作,使用与多个类对象的成员变量的赋值。
- Linux内核中常见的结构体对象中的函数指针赋值操作
- MFC 外部普通函数获取类对象指针来调用类的成员函数
- 关于含有指针成员的类的对象之间赋值指针的问题。
- Effective STL 第7条:如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉
- 静态成员函数、this指针、对象指针和动态对象使用小结
- 如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉
- 重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符。
- 类A 包含类B的实例, 在类B的成员函数执行时动态获得类A的地址
- 如何动态保存不同类的对象的成员函数的地址?--解决(续)
- 包含在堆上分配的对象的指针类的基理
- MFC 之 静态成员对象初始化
- 21天学通c++之第二周 指针 8.6 访问自由存储区中对象的成员数据
- 用char*实现的一个完整的类,包含类的基本操作:一般构造、拷贝构造、赋值转换、重载 > >,< <
- 将CONN操作包含在函数内,动态操作
- 仿MFC实现c++的按名动态创建对象功能
- MFC学习点滴三:句柄,指针,对象,资源的ID