类对象和类指针

本文探讨了类对象和类指针在定义、使用、生命周期、存储位置、多态性和访问方式上的差异,强调了类指针在多态和函数调用中的优势。同时,指出两者在调用成员变量和函数上的相似用途,并提到了何时选择使用对象或指针。
摘要由CSDN通过智能技术生成

@浅谈类对象和类指针
代码:

1
2
3
4
5
6
7
Student a;
s.setName(“A”);

//Studeng *b = new Student();
Student *b;
b = new Student();
b->setName(“B”);

分析:

定义类对象基本格式是:Student a;在定义之后就已经为a这个对象分配了内存,且为内存栈;

定义类指针基本格式是:Student b = new Student();在定义b的时候并没有分配内存,只有执行new后才会分配内存,且为内存堆。

问题:

(1)类对象和类指针区别

A: 定义

——类对象:利用类的构造函数(构造函数:对类进行初始化工作)在内存中分配一块区域(包括一些成员变量赋值);

——类指针:是一个内存地址值,指向内存中存放的类对象(包括一些成员变量赋值;类指针可以指向多个不同的对象,这就是多态);

B: 使用

——引用成员:对象使用“.”操作符,指针用“->”操作符;

——生命周期:若是成员变量,则由类的析构函数来释放空间;若是函数中临时变量,则作用域是函数体内;而指针则需要利用delete在相应的地方释放分配的内存块。

注意:new与delete成对存在&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值