C++中,如何实例化一个类实例.

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:32:10
比如有如下类.
class Test
{
...
};

Test t; 可以实例化一个类实例.
听说用new 也可以实例化一个类实例(我不知道怎么实例化,望大家指点.)

这二种实例化方法有什么区别吗?

A a;
A * a = new a();
以上两种方式皆可实现类的实例化,有new的区别在于:
1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可控性增强。
2.不加new在堆栈中分配内存
3.大程序用new,小程序直接申请
4.只是把对象分配在堆栈内存中
5.new必须delete删除,不用new系统会自动回收内存

Test tst = new Test();

Test t; 分配给实例 t 的是静态内存,当超出该作用域之后该内存会自动销毁。
Test *t = new Test(); 分配给实例 t 的是动态内存,这是初始化指针变量的一般方法,分配得到的内 存要注意使用 delete 释放,否则会发生内存泄漏。

建议多看看书,这些问题多看书后都会理解。