首页 > 代码库 > C++类的实例化的两种方法
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系统会自动回收内存
C++类的实例化的两种方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。