五天速成C++-----第五天

面向对象核心

1.继承

定义:在已存在类的基础上,创建新的类。会拥有原有类的一些特性。通常会在原有类基础上做修改和增加操作。

已经存在的类成为父类或基类

新创建的类称为子类或派生类

#include 
using namespace std;
class Father{
public:
    string first_name="李";
    void work(){
        cout<<"我是名厨师"<

函数隐藏:如果子类中给出与父类同名的函数,父类中所有同名函数都被隐藏。如果需要访问需要父类的作用域限定符的方式进行访问

#include 
using namespace std;
class Father{
public:
    string first_name="王";
    void work(){
        cout<<"我是名厨师"<

2.继承注意事项(掌握):

  1. 父类的构造函数不会继承下来
  2. 子类一定要直接或者间接的调用父类的构造函数。来完成从父类继承过来数据的初始化。如果子类不写明如何调用父类的构造函数,这时会调用父类无参的构造函数,如果父类中没有无参的构造函数,这时就会报错

子类构造函数直接调用父类构造函数

#include 
using namespace std;
class Father{
private:
    string name;
public:
    Father(string name){
        this->name=name;
    }
    void work(){
        cout<

3.权限(掌握)

注意:权限不写默认是私有

不同权限访问情况

不同权限的成员,在不同位置的可访问情况

public       本类中可以可以访问       在子类中可以访问     在全局中可以访问

protected 本类中可以可以访问       在子类中可以访问     在全局中不可以访问

private     本类中可以可以访问       在类中不可访问     在全局中不可以访问

#include 
using namespace std;
class Father{
    //只作为验证
public:
   string first_name="王";
protected:
   string car="宝马";
private:
   string password="123789";
public:
   void show(){
       cout<

不同权限的继承 (掌握)

  1. 任何权限的继承,私有权限成员继承之后,都不能直接访问
  2. 排除私有成员的情况下,公有继承全不变,保护继承变保护,私有继承变私有

私有继承时父类的私有成员 在子类中变成私有 应该是子类中不可直接访问

public继承(掌握)

公有继承使用最多

父类public权限成员

父类protected权限成员

父类私有权限成员

public继承后在子类中的情况

成为子类中public成员

成为子类中protected成员

能够继承下来,不能直接访问

#include 
using namespace std;
class Father{
public:
    string pubstr="pub";
protected:
    string prostr="pro";
private:
    string pristr="pri";
};
class Son:public Father{
public:
    void method(){
        cout<

protected继承

父类public权限成员

父类protected权限成员

父类私有权限成员

你可能感兴趣的:(五天速成C++,c++,开发语言,算法)