首页 > 编程语言 >c++使用接口,通过纯虚函数实现

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

时间:2023-01-08 16:22:40浏览次数:56  
标签:triangle string int c++ 接口 height width 纯虚 public

#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;
}

 不错的学习内容

标签:triangle,string,int,c++,接口,height,width,纯虚,public
From: https://www.cnblogs.com/johnnyzhao/p/17034809.html

相关文章

  • C++核心知识回顾(函数&参数、异常、动态分配)
    复习C++的核心知识函数与参数传值参数、模板函数、引用参数、常量引用参数传值参数intabc(inta,intb,intc){returna+b*c;}a、b、c是函数abc的形参,下......
  • 自制1.8V~3.3V双向电平转换器(适用于SWD下载接口)
    文档标识符:Bi_Dir_Volt_Trans_T-D-P25作者:DLHC审阅:DLHC最后修改日期:2023.1.8_PM最后修改内容:添加内容、审阅内容发布状态:已发布本文链接:https://www.cnblogs.com/DLH......
  • c++ virtual关键字学习
    virtual在类中使用如在多继承中(环状继承):classD{......};classB:publicD{......};classA:publicD{......};classC:publicB,publicA{.....};这个继承......
  • C++ - 多线程
    1.多线程传统的C++(C++11之前)中并没有引入线程这个概念,在C++11出来之前,如果我们想要在C++中实现多线程,需要借助操作系统平台提供的API,比如Linux的<pthread.h>,或者windows下......
  • 嵌入式:人机交互接口设计详解
    键盘和LED的接口原理HA7279A是一片具有串行接口并可同时驱动8位共阴式数码管或64只独立LED的智能显示驱动芯片。该芯片同时可连接多达64键的键盘矩阵,一片即可完成LED显示及......
  • TB关键词搜索商品列表接口,关键词搜索商品接口代码展示
    前言item_search-按关键字搜索淘宝商品接口,可以通过关键词搜索请求接口拿到商品列表页面的商品标题,商品价格,商品优惠价,商品视频,商品图片,商品sku属性,商品sku属性描述,发货地,库......
  • [C++/Java/Py/C#/Ruby/Swift/Go/Scala/Kotlin/Rust/PHP/TS/Elixir/Dart/Racket/Erlang
    目录题解地址代码cppjavapython3C#rubyswiftgolangscalakotlinrustphptypescriptelixirdartracketerlang题解地址https://leetcode.cn/problems/counting-words-with-a-g......
  • C++初探索
    C++初探索前言C++和C的区别主要在8个方面:输入和输出引用inline函数函数默认值函数重载模板函数new和deletenamespace我仅对印象不深的地方做了总结。......
  • C++中的锁
    锁(161条消息)C++互斥对象std::mutex与std::shared_mutex;互斥锁:std::lock_guard、std::unique_lock与std::shared_lock的应用_持续学习,不断沉淀的博客-CSDN博客......
  • c++大全
    第一章编程基础 91.1通俗地理解什么是编程语言 91.2C语言究竟是一门怎样的语言? 111.3C语言是菜鸟和大神的分水岭 121.4进制详解:二进制、八进制和十六进制 131.5......