C++学习笔记-day13

1、多态的基本概念

 

 

 

 

 

 

 C++开发提倡利用多态设计程序架构,因为多态优点很多

#include<iostream>

using namespace std;
//多态

class Animal
{
public:
    //虚函数
    virtual void speak()
    {
        cout << "动物在说话" << endl;
    }
};

//猫类

class Cat :public Animal
{
public:
    void speak()
    {
        cout << "小猫在说话" << endl;
    }
};

//狗类

class Dog :public Animal
{
public:
    void speak()
    {
        cout << "小狗在说话" << endl;
    }
};
//执行说话的函数
//地址早绑定 在编译阶段确定函数地址 
//如果想执行让猫说话,这个函数的地址就不能提前绑定,需要在运行阶段进行绑定,也就是地址晚绑定

//动态多态满足条件
//1、有继承关系
//2、子类重写父类的虚函数
//重写:函数返回值类型 函数名 参数列表完全相同 才叫重写

//动态多态的使用
//1、父类的指针或者引用 指向子类的对象 
void doSpeak(Animal& animal) //Animal& animal =cat;
{
    animal.speak();
}

void test01()
{
    Cat cat;
    doSpeak(cat);

    Dog dog;
    doSpeak(dog);
}
int main()
{
    test01();
    system("pause");

    return 0;
}

 2、纯虚函数和抽象类

 

 3、析构和纯析构

 

 

 

 4、文件操作

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-09-11 13:01  秦0710  阅读(16)  评论(0编辑  收藏  举报