问个类初始化的问题
我一个类,有一个指针成员p,有两个构造函数A、B。
其中一个构造函数A需要先对传入参数进行处理,然后调用另一个构造函数B完成其余的初始化。
可问题来了:B单独调用,没有任何问题;若是通过A调用B,调用后,指针成员p就变成“错误的指针”了
测试类及代码如下,请帮忙指明错误。
#include <iostream>class T{public: T() {p = new char[2];} T(int) {T();} ~T() {if (p) delete p;} int test() { if (p) return 1; else return 0; }private: char * p;};int _tmain(int argc, _TCHAR* argv[]){ T t(0); // 这里调用A std::cout << t.test() << std::endl; return 0;}