您所在位置: 网站首页 / 类与对象III说课讲解.ppt / 文档详情
类与对象III说课讲解.ppt 立即下载
2024-12-03
约4.8千字
约42页
0
281KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

类与对象III说课讲解.ppt

类与对象III说课讲解.ppt

预览

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

10 金币

下载文档

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

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

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

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

程序设计实习第十四讲类与对象III类和数据抽象(三)课堂问题转换构造函数Complexc1;//Complex(0)c1={0,0};
Complexc2=2;//Complex(2)c2={2,0};
Complexc3=2.5;//Complex(2.5)c3={2.5,0};
intmain()
{	printf("c1=%f+%fi\n",c1.real,c1.imag);
	printf("c2=%f+%fi\n",c2.real,c2.imag);
	printf("inmain\n");
	c1=4;
	printf("endmain\n");
return0;
}
输出:
IntConstructorcalled
IntConstructorcalled
FloatConstructorcalled
c1=0.000000+0.000000i
c2=2.000000+0.000000i
inmain
IntConstructorcalled
Destructorcalled临时对象消亡
endmain
Destructorcalled
Destructorcalled
Destructorcalled常量对象和常量方法在类的成员函数说明后面可以加const关键字,则该成员函数成为常量成员函数

classSample{
	private:
		intvalue;
	public:
		voidSetValue()const{
			value=0;//wrong

//常量方法内部不能改变属性的值
		}
};
constSampleObj;//常量对象上可以使用常量成员函数
Obj.SetValue();
在定义常量成员函数和说明常量成员函数时都应该使用const关键字
classSample{
	private:
		intvalue;
	public:
		voidSetValue()const;
};
voidSample::SetValue()const{//此处不使用const会
					//导致编译出错
	cout<<value;
}常量成员函数的重载
classbase1{
	private:
		inti;
public:
		base1(){i=0;}	
};
classbase2{
	private:
		inti;
public:
		base2(intn){i=n;}	
};
classBig{
	private:
		intn;
		base1b1;
		base2b2,b3;
	public:
		Big(intn):b1(n),b2(1),b3(2)
		{
		}	
};
Bigb;//如果不定义构造函数则编译出错classBig{
	private:
		intn;
		base1b1;
		base2b2,b3;
	public:
		Big(intn):b1(n),b2(n),b3(2)
		{
		}	
};
Bigb(5);//如果不定义构造函数则编译出错成员对象初始化封闭类构造/析构函数执行过程封闭类例子程序:
#include<iostream>usingnamespacestd;
classCIn1{
public:
	CIn1(intn){cout<<"CIn1contructor"<<endl;}
	~CIn1(){cout<<"CIn1destructor"<<endl;}
};
classCIn2{
public:
	CIn2(intn){cout<<"CIn2contructor"<<endl;	}
	~CIn2(){cout<<"CIn2destructor"<<endl;}
};

classCOut{
	private:
		CIn2objCIn2;CIn1objCIn1;
	public:
		COut():objCIn1(1),objCIn2(2)
		{
			cout<<"COutcontructor"<<endl;
		}
		~COut(){
			cout<<"COutdestructor"<<endl;
		}
};
intmain()
{
	COutobjCOut;
	return0;
}输出结果:

CIn2constructor
CIn1constructor
COutconstructor
COutDestructor
CIn1Destructor
CIn2Destructorclassexample{
private:
		constintnum;
		int&ret;
		intvalue;
public:
		example(intn,intf):num(n),ret(f),value(4)
		{	}	
};

查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

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

类与对象III说课讲解

文档大小:281KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
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专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用