一、什么是子对象
当一个类的成员是某一个对象的类时,该对象就是子对象,驻留在另一个对象中的对象,在一个类的定义中,声明另一个类的对象来作为成员变量。
二、子对象的作用是什么
减少代码重用
当一个类中出现了另一个类的对象成员时,该类的构造函数就要包含子对象的初始化(成员初始化列表放在构造函数的右边),并用冒号进行分隔。成员初始化列表是由一个或多个选项组成的,多各选项之间用逗号分隔
三、利用子对象实现年月日(月日类是年类的子对象)
代码块:
#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; }
讯享网
运行结果:

四、小结:
子对象和放映了出两个类的包含关系,又称为组合关系
这是将复杂问题分解为若干个简单问题所采用的一种方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/127712.html