类实例化的两种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++类的实例化的两种方法

C++类的实例化有两种方法:

直接定义对象:

先定义一个类:

class A

{

public:

A();

virtual ~A();

...

...

};

类实现略。

用的时候:

A a;

a.成员函数;

a.成员变量;

a 就是一个对象。

定义一个类指针的方法:

A *p = new A;

p->成员函数;

p->成员变量;

最后别忘了销毁对象:delete[] a;

A由系统创建并释放,你不要担心会出现内存泄露,但是生命期只有在本区域的大括号内,出了大括号就没用了。p是指针,要自己释放,用不好很危险,用好了功能强大,因为他

可以赋值给全局的变量,一下子从局部变量变成全局变量,还能把对象作为函数返回值。

A a;

A * a = new a();

以上两种方式皆可实现类的实例化,有new的区别在于:

1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可控性增强。

2.不加new在堆栈中分配内存

3.大程序用new,小程序直接申请

4.只是把对象分配在堆栈内存中

5.new必须delete删除,不用new系统会自动回收内存

相关文档
最新文档