一、派生类:复合类是两个类的关系的一种, 是一种 “是” 的关系。
1、派生类的构造
class student
{
public:
stuent(char *pname)
{
// ......
}
};
class graduateStudent : public student // 继承方式
{
public:
graduateStudent(char *pname, char *pwork)
: student(pname) // 在初始化列表进行构造
{
// ......
}
};
2、派生类的析构
派生类析构时会将基类同时也析构, 故不需要对对象的基类进行额外的析构操作。
详细看:① 基类和派生类的构造和析构顺序
② 虚析构函数
3、派生类的赋值与强制类型转化
graduateStudent gs;
student s = gs; // 派生类可赋值给基类
(stuent)gs = s; // 基类可以赋值给强制类型转化之后的派生类
二、复合类
复合类是两个类的关系的一种, 是一种 “有” 的关系。
class Advisor
{
// ... ...
};
class student
{
public:
stuent(char *pname)
{
// ... ...
}
};
class graduateStudent : public student // 继承方式
{
private:
Advisor advisor;
// ... ...
public:
graduateStudent(char *pname, char *pwork, Advisor adv)
: student(pname), advisor(adv) // 在初始化列表进行构造
{
// ... ...
}
};
本文详细介绍了派生类与复合类的概念及其在C++中的实现方式。派生类体现了“是”的关系,通过继承机制实现代码复用;复合类则体现了“有”的关系,通过成员变量的方式实现类之间的组合。
1435

被折叠的 条评论
为什么被折叠?



