【C++】子对象基础概念及其用法

本文介绍了子对象的概念及其在类定义中的应用,通过实例演示了如何使用子对象实现年月日日期类,并探讨了子对象对于代码复用的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是子对象

一个类的成员是某一个对象的类时,该对象就是子对象,驻留在另一个对象中的对象,在一个类的定义中,声明另一个类的对象来作为成员变量。

二、子对象的作用是什么

减少代码重用

当一个类中出现了另一个类的对象成员时,该类的构造函数就要包含子对象的初始化(成员初始化列表放在构造函数的右边),并用冒号进行分隔。成员初始化列表是由一个或多个选项组成的,多各选项之间用逗号分隔

三、利用子对象实现年月日(月日类是年类的子对象)

代码块:

#include<iostream>
using namespace std;
class Date//定义一个日期类 
{
	public:
		Date(int m,int d)//构造函数 
		{
			month=m;
			day=d;
		}
		void Print();//打印函数 
	private:
		int month,day;//月份和日期为私有成员 
} ;
class Year//定义一个年类 
{
	public:
		Year(int y,int m,int d):year(y),date(m,d){};//构造函数,子对象 
		void Print();//打印函数 
	private:
		Date date;//定义Date类的一个对象date 
		int year;//定义私有成员year 
};
void Date::Print()
{
	cout<<month<<"月"<<day<<"日"<<endl;
}
void Year::Print()
{
	cout<<year<<"年";
	date.Print();//这个打印函数调用Date类的打印函数	
}
int main()
{	
	Year h(2016,6,16);//定义year类的一个对象h 并初始化为 2016 6 16 
	h.Print();//打印 
	return 0;
} 

 

运行结果:

四、小结:

子对象和放映了出两个类的包含关系,又称为组合关系

这是将复杂问题分解为若干个简单问题所采用的一种方法

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值