C++学习,继承

C++一个重要概念继承,继承依据一个类来定义另一个类,这样就重用了代码功能和提高执行效率。创建一个类时,不需要完全重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。已有类为基类,新建类为派生类,一个类可以派生自多个类,它可以从多个基类继承数据和函数。

基本语法:

class 基类名 {  
    // 基类的成员  
};  
class 派生类名 : 继承方式 基类名 {  
    // 派生类的成员  
};

继承方式,可以是:

public:公有继承,基类的公有成员和保护成员在派生类中保持原有访问级别(公有和保护),私有成员不可访问。
protected:保护继承,基类的公有成员和保护成员在派生类中成为保护成员,私有成员仍不可访问。
private:私有继承,基类的公有成员和保护成员在派生类中成为私有成员,私有成员仍不可访问。

示例:
#include <iostream>  
using namespace std;  
  
// 基类  
class Animal {  
public:  
    void eat() {  
        cout << "This animal eats food." << endl;  
    }  
};  
  
// 派生类  
class Dog : public Animal {  
public:  
    void bark() {  
        cout << "The dog barks." << endl;  
    }  
};  
  
int main() {  
    Dog myDog;  
    myDog.eat(); // 继承自Animal类  
    myDog.bark(); // Dog类自己的方法  
    return 0;  
}

 

访问控制和继承

派生类可以访问基类中,所有的非私有成员,基类成员如果不想被派生类的成员函数访问,需要在基类中声明为private。

访问publicprotectedprivate
同一个类yesyesyes
派生类yesyesno
外部的类yesnono

派生类继承了,所有的基类方法,下列情况除外:

  • 基类的构造函数、析构函数和拷贝构造函数。
  • 基类的重载运算符。
  • 基类的友元函数。

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值