第五章 类的继承与派生之——类之间的关系

类之间的关系

    • 1、已有类编写新的类
    • 2、封闭类
    • 3、例题

1、已有类编写新的类

使用已有类编写新的类有两种方式: 继承和组合
继承关系也称为 “is a” 或 “是” 关系
组合关系也称为 “has a” 或 “有” 关系


2、封闭类

如果一个类的成员变量是另一个类的对象,则为封闭类
定义封闭类构造函数的一般形式为:

类名: :类名(形参表) : 内对象1 (形参表),内对象2 (形参表),~
{类体}

*在派生类也是封闭类的情况下,构造函数的初始化列表不但要指明基类对象的初始化方式,还要指明成员的初始化方式

生成派生类对象时,会引发一系列构造函数的调用,顺序是: 先根据派生类层次从上到下依次执行所有基类的构造函数,最后执行自身的构造函数。如果某个类是封闭类,则在执行本类构造函数之前,先按照成员对象的定义顺序执行各个成员对象所属类的构造函数

【示例】

#include
#include
using namespace std;

classmyDate
{
   
	public:
		myDate();
		myDate(int);
		myDate(int,int);
		myDate(int,int,int);
		myDate(const myDate &d) ;
		~myDate();
		void setDate(int,int,int);
		void setDate(myDate);
		myDate getDate();
		void setYear(int);
		int getMonth();
		void printDate() const;
	private:
		int year,month ,day;
};

myDate::myDate ()
{
   
	year=1970;
	month=1;
	day=1;
	cout<<"myDate默认构

你可能感兴趣的:(C++语言总结及案例,java,开发语言,后端,c++)