c++使用接口,通过纯虚函数实现

复制代码
#include <iostream>
using namespace std;

class Shape
{
protected:
    int width;
    int height;
    string name;

public:
    // pure virtial function for interface
    virtual int getArea() = 0;
    virtual string getName() = 0;
    void setWidth(int w)
    {
        width = w;
    }
    void setHeight(int h)
    {
        height = h;
    }
    void setName(string name_)
    {
        name = name_;
    }
};

class Rectangle : public Shape
{
public:
    int getArea()
    {
        return width * height;
    }

    string getName()
    {
        return "retangle";
    }
};

class Triangle : public Shape
{
public:
    int getArea()
    {
        return (width * height) / 2;
    }

    string getName()
    {
        return "triangle";
    }
};

int main()
{
    Rectangle rectangle;
    Triangle triangle;
    rectangle.setWidth(5);
    rectangle.setHeight(7);
    triangle.setWidth(5);
    triangle.setHeight(7);
    cout << rectangle.getName() << " area is:" << rectangle.getArea() << endl;
    cout << triangle.getName() << " area is:" << triangle.getArea() << endl;
    return 0;
}
复制代码

 不错的学习内容

posted @   johnny_zhao  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
历史上的今天:
2021-01-08 495. Teemo Attacking
2019-01-08 不用temp,对两个数的值进行互换
点击右上角即可分享
微信分享提示