C++继承和派生的概念

继承和派生是面向对象编程们的一个比较重要的概念,于是小柒将它记录在这里,以便于遗忘的时候可以查缺补漏 ^-^

继承:

        继承是一个允许一个类从另一个类获取属性的行为,我们把被继承的类称为 基类 ,而从基类

        获取属性和方法的类我们称之为 派生类。

继承的好处与作用:

        要了解继承这个概念首先我们得清楚这个玩意有什么用,用了有什么好处:

1.代码重用:派生类可以继承基类的成员,这样就可以避免重复编写相同的代码、

2.扩展功能:派生类可以添加新成员或者重写基类的成员函数。实现个性化的功能。

3.提高代码的可维护性与可扩展性

4.实现多态性: 通过继承和虚函数,可以实现多态性。多态使得可以用基类的指针或者引用来操作派生类对象,根据实际对象的类型动态的调用相应的函数。

5.建立层次关系:继承可以建立清晰的类层次结构,反映现实世界中事物的分类和关系。

 

示例:

#include <iostream>

class Base{

public:

        void print(){

                std::cout<<"这是基类的方法"<<std::endl;

        }

};

//此处使用public方式继承Base类

class Derived: public Base{

public:

        void print() override{

                std::cout<<"这是派生类的方法"<<std::endl;

        }

};

int main(void){

Derived d;

d.print();

return 0;

}

输出的结果应为: 这是派生类的方法

        这段示例中定义了一个基类Base与一个派生类Derived。派生类通过使用public关键字

        继承了基类print()方法,并通过override关键字重写了该方法。在main函数中创建派生

        类对象并调用了print()方法。

 

C++中继承和派生的三种方式:

1.public(公有)继承(最常用)

        这个方式可以将基类完完整整的继承,也就是继承过后数据成员与方法的访问权限不变.

2.private继承

        从基类继承过后,访问权限全都变为private权限

3.protected继承

        从基类继承过后,会将基类的所有public访问权限改为protected访问权限

 

C++中派生类对基类成员的访问权限:

1.无论派生类通过何种继承方式去继承基类,只要是在派生类内部就都可以访问基类里的

public权限和protected权限的成员。

2.继承方式只影响派生类对基类成员的访问权限。

如public继承,基类成员的访问权限全部保留至子类

3派生类无法直接访问基类的private数据

 

C++派生类构造函数:

在派生类的构造函数中,通常需要执行以下操作:

1.调用基类的构造函数:用于初始化基类的成员

2.初始化派生类自己的成员

示例:

class Son::public Father{

        //在子类的构造函数中,显式的调用基类的构造函数

        Son(const char* name,int age,const char* game):Father(name,age){

                this->game = game;

        }

        //如果没有显式的调用基类的构造函数,则会自动调用基类的默认构造函数

        Son(const char*name,const char*game){

                this-> game =game;

        }

};

        

这波又学废了>w<

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值