C++中指针变量的定义 本人初选C++,现在有一问题搞不明白如下: class A { int a,b; public: void test() { A * obj = new a(); } } 问题:可以这样创建A对象吗?如果不可以为啥? C++ 指针 对象 [解决办法] A * obj = new a(); 这句话定义了一个类的对象指针,并初始化为一个动态分配的类对象地址,是C++里面的常用方法。 我想你的一个纠结是类尚未定义完全,就在成员函数中使用这个类生成对象,是否难以理解? 回过头想想,既然成员函数可以使用类对象作为返回值,作为函数参数,为什么不能再函数体内定义和使用? [解决办法]
对呀,因为返回的是指针,得用new [解决办法]
if you don't use 'new', you can use 'malloc'
class Cloneable { public: virtual Cloneable* Clone() =0;