纯虚函数

纯虚函数就是方便继承类的通用性,覆盖基类相同名字的函数。 格式就是 virtual + 类型 + 函数名字() = 0; 继承类就是 类型 + 函数名字() overried{}(意思就是覆盖了基类的虚函数,用当前的替代)

要说明的是纯虚函数的类型是什么,继承类就是什么,还不知道有什么方法能让他们不一样,如果会了就补上。

#include <bits/stdc++.h>
const double pi = acos(-1);
using namespace std;
class shape{ 
    public:
        virtual void area() = 0;   //这个就是虚函数。
};
class circle:public shape{
    int r;
    public:
        circle(int x = 0):r(x){}
        void area() override {            //继承类的覆盖
            cout << "The S of this circle: " << pi*r*r << endl;
        }
};
class rectangle:public shape{
    int width, length;
    public:
        rectangle(int x = 0, int y = 0):width(x),length(y){}
        void area() override{           //继承类的覆盖
            cout << "The S of this rectangle: " << width*length << endl;
        }
};

// 我代码段外那个不明白的就是如果虚函数类型是void,但是有继承类想用double类型,int类型,或者其他,就不行了, 有没有什么操作能更通用些。
int main(){ circle cir = circle(5); cir.area(); rectangle rec = rectangle(4, 5); rec.area(); return 0; }

 

原文链接: https://www.cnblogs.com/philo-zhou/p/12795323.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    纯虚函数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/345074

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午3:02
下一篇 2023年3月2日 上午3:02

相关推荐