帮忙看看这个类如何在push_back()里调用构造函数初始化?
本意是想自己写一个保护类的类,就是为了能释放资源,但是在下面(有标记)main里面的push_back如何才能正确的调用模板的保护类顺带初始化呢? 我的写法会报错~~~
- C/C++ code
#include <iostream>#include <vector>clude
[解决办法]
在 B、C、A类里都需要增加一个拷贝构造函数。vector 在push_back的时候需要进行拷贝。
如果类里有需要分配内存的成员,必须实现一个拷贝构造
析构函数在对象销毁的时候会被调用一次。如果要自己来调用释放资源的方法,有两种解决方案
1) 类中再定义一个Release()方法,在该方法内进行释放资源等操作,析构函数里不要释放release调用过的资源
2)重载operate delete , 但不建议该方法