C++的类对象的生成有哪几种方式?有什么区别?该如何解决
C++的类对象的生成有哪几种方式?有什么区别?
例如:对于Class A
A a;
A a();//这句编译能过,后面调用会报错,能不能这么用?
A a=A();
A* a=new A;
A* a=new A();
还有没别的生成对象的方式?他们都有什么区别?
什么时候要用delete回收?
小弟最近刚学C++,希望各位大神指教。
------解决方案--------------------
A a();//这句编译能过,后面调用会报错,能不能这么用?
这个是不行的,一般用类的名称或者类的构造函数!就是你的最后面两个,第一个只是申请一个对象,可以是全局的,也可以是局部的!
------解决方案--------------------
A a();
这个是函数声明。返回值类型为A,函数名为a,无参。
例如:对于Class A
A a;
A a();//这句编译能过,后面调用会报错,能不能这么用?
A a=A();
A* a=new A;
A* a=new A();
还有没别的生成对象的方式?他们都有什么区别?
什么时候要用delete回收?
小弟最近刚学C++,希望各位大神指教。
------解决方案--------------------
A a();//这句编译能过,后面调用会报错,能不能这么用?
这个是不行的,一般用类的名称或者类的构造函数!就是你的最后面两个,第一个只是申请一个对象,可以是全局的,也可以是局部的!
------解决方案--------------------
A a();
这个是函数声明。返回值类型为A,函数名为a,无参。