类对象和类指针


声明:

类对象:利用类的构造函数在内存中分配一块内存,调用了构造函数

类指针:是一个内存地址值,指向内存中存放的类对象,没有调用构造函数


引用成员:

对象用"."

指针用"->"


对象生命期:

若是成员变量,则是类的析构函数来释放空间

若是函数中的临时变量,则作用域是该函数体内


指针生命期:

则需利用delete在相应的地方释放分配的内存块,用new一定要delete


内存占用:

对象用的是内存栈,是个局部的临时变量
指针用的是内存堆,是个永久变量,除非你释放它


函数调用:

对象参数,参数传递占用的资源就太大了

指针参数,传过去的就是4个字节


当类是有虚函数的基类,关于虚函数的调用:
类的对象调用的是它自己的虚函数
类的指针调用的是分配给它空间时那个类的虚函数,要发挥虚函数强大就必须使用指针


对于类的对象和类的指针(用new运算符分配内存)在应用时区别 :

1:指针可以实现多态,父类的指针可以指向子类的对象,直接使用对象不行

2:当你希望明确使用这个类的时候,最好使用对象,如果你希望使用C++中的动态绑定,则最好使用指针或者引用

3:在类的声明尚未完成的情况下,可以声明指向该类的指针,但是不可声明该类的对象

5:定义对象实例时就已经分配了内存,指针如果没有new则未分配类对象所需内存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章