【知识补充】C++理论:类的继承,多态,模板,虚函数,智能指针 您所在的位置:网站首页 函数重载与函数模板的关系 【知识补充】C++理论:类的继承,多态,模板,虚函数,智能指针

【知识补充】C++理论:类的继承,多态,模板,虚函数,智能指针

2024-07-12 05:41| 来源: 网络整理| 查看: 265

1. 三种类的继承方式

        面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。

        当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。 继承代表了 is a 关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。

// 基类 class Animal { // eat() 函数 // sleep() 函数 }; //派生类 class Dog : public Animal { // bark() 函数 };

        当一个类派生自基类,该基类可以被继承为 public、protected 或 private 几种类型。我们几乎不使用 protected 或 private 继承,通常使用 public 继承。当使用不同类型的继承时,遵循以下几个规则:

公有继承(public):当一个类派生自公有基类时,基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问。保护继承(protected): 当一个类派生自保护基类时,基类的公有和保护成员将成为派生类的保护成员。私有继承(private):当一个类派生自私有基类时,基类的公有和保护成员将成为派生类的私有成员。 1.1 公有继承public

        基类成员对其对象的可见性与一般类及其对象的可见性相同,公有成员可见,其他成员不可见;基类成员对派生类的可见性对派生类来说,基类的公有成员和保护成员可见,基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态;基类的私有成员不可见,基类的私有成员仍然是私有的,派生类不可访问基类中的私有成员。

        所以,在公有继承时,派生类的对象可以访问基类中的公有成员,派生类的成员函数可以访问基类中的公有成员和保护成员。简单来说,派生类能访问基类的public, protected成员,继承过来权限不变,派生类对象只能访问基类public成员。

测试代码如下:

class A { private: int m_data1; void print1() { cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有