您所在位置: 网站首页 / 第五章类与对象.ppt / 文档详情
第五章类与对象.ppt 立即下载
2024-08-16
约1.9千字
约63页
0
557KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

第五章类与对象.ppt

第五章类与对象.ppt

预览

免费试读已结束,剩余 58 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

程序设计是计算机学科的§5.1类的引入§5.1类的引入§5.1类的引入§5.1类的引入§5.1类的引入§5.1类的引入§5.2类的定义§5.2类的定义§5.2类的定义§5.2类的定义§5.2类的定义§5.2类的定义§5.2类的定义§5.2类的定义§5.2类的定义§5.3对象的创建§5.3对象的创建§5.3对象的创建§5.3对象的创建§5.3对象的创建§5.3对象的创建§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.4对象的初始化§5.5使用类与对象构造程序的实例§5.5使用类与对象构造程序的实例§5.5使用类与对象构造程序的实例§5.5使用类与对象构造程序的实例§5.5使用类与对象构造程序的实例§5.5使用类与对象构造程序的实例§5.5使用类与对象构造程序的实例§5.5使用类与对象构造程序的实例§5.6指向对象的指针5.6.1对象指针
this指针
C++为每个对象提供一个指针this,记录该对象的地址,当通过对象来调用类的成员函数时,this作为一个隐式参数传递给成员函数
this的性质
隐式指针,不能显式声明
常指针,不能被修改,当一个类对象被创建时,this就被初始化为指向该对象的指针
this是一个局部变量,局部于某个对象,在该类的任何非静态成员函数中可见。例2:
intC::get_value()
{	returnvalue;		returnthis->value;
}5.6.2对象的动态创建与撤销
运算符new提供了动态存储分配的功能
一般形式:指针名=new基类型名(初始化表);
若基类型是类类型,则()内为该类的构造函数提供实参。
功能:动态分配一块内存,其大小由基类型决定,若分配成功,则返回该内存的首地址给指针,否则返回NULL5.6.2对象的动态创建与撤销
例1:	int*p;
		p=newint;
		*p=10;
		cout<<*p;

例2:动态分配数组
		int*p1;
		intlen;
		cin>>len;
		p1=newint[len];5.6.2对象的动态创建与撤销

例3:分配类对象
		CIRCULAR_NUMBERS*angle_ptr;
…
		angle_ptr=newCIRCULAR_NUMBERS(0,359,250);
if(angle_ptr==NULL){//内存分配失败后的处理
…
}
else{//内存分配成功后的处理
…
}
…5.6.2对象的动态创建与撤销
运算符delete用于释放用new分配的存储空间
一般形式:
	delete指针名;

例:	deletep;
		delete[]p1;	//数组释放时,加[]则会释放整个分配的区域,否则只会释放一个基类型占用的空间;
		deleteangel_ptr;
用new分配的内存空间,一定要用delete释放,而且只能释放一次。否则将产生“内存垃圾”5.6.3对象的复制与比较
对象的复制与比较是针对对象的数据成员而言的。

ClassStudent{
public:
Student(constchar*str)
{strcpy(name,str);
…
}
~Student()
{…}
private:
charname[30];//name以数组形式出现
}

Students1,s2;
…
s1=s2;//C++语言提供的缺省情况,s2数据成员逐位复制给s15.6.3对象的复制与比较

ClassStudent{
public:
Student(constchar*str)
{name=newchar[strlen(str)+1];
strcpy(name,str);
…
}
~Student()
{deletename;…}
private:
char*name;//name以指针形式出现
}

Students1,s2;
…
s1=s2;//s2中name指针的值复制给s1中的name

设计一个专门的复制函数Sudent*copy(Student*obj1,Student*obj2);§5.7关于类与对象的进一步讨论§5.6关于类与对象的进一步讨论§5.7关于类与对象的进一步讨论习题
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

第五章类与对象

文档大小:557KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用