概念
是面向对象程序设计是代码可以复用的最重要的手段,它允许程序员在保持原有的类的特性的基础下进行拓展,增加功能。 这样产生的类被称为派生类;
class Person
{
public:
void Print()
{
cout << "name:" << _name << endl; cout << "age:" << _age << endl;
}
protected:
string _name = "peter"; // 姓 名
int _age = 18; // 年 龄
};
// 继承后父类的Person的成员(成员函数+成员变量)都会变成子类的一部分。这里体现出了Student和Teacher复用了Person的成员。下面我们使用监视窗口查看Student和Teacher对象,可以看到变量的复用。调 用Print可以看到成员函数的复用。
class Student : public Person
{
protected:
int _stuid; // 学 号
};
class Teacher : public Person
{
protected:
int _jobid; // 工 号
};
int main()
{
Student s; Teacher t; s.Print();
t.Print();
retur

本文详细介绍了C++中的继承概念,包括公共继承、保护继承和私有继承的比较,以及赋值兼容规则。重点讨论了同名隐藏现象,并通过实例展示了子类对象的构造过程。此外,文章还深入探讨了菱形继承带来的数据冗余和二义性问题,并提出虚拟继承作为解决方案,解释了虚拟继承与普通继承的区别,以及如何通过虚基表解决二义性问题。

8187

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



