博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++中的抽象基类示例
阅读量:6792 次
发布时间:2019-06-26

本文共 951 字,大约阅读时间需要 3 分钟。

抽象基类(abstract base class,ABC)

例子:圆与椭圆。建立一个基类BaseEllipse,建立它的恋歌继承了Ellipse和Circle。
ellipse.h

#ifndef ELLIPSE_H_#define ELLIPSE_H_class BaseEllipse{public:    virtual double Area() const =0;};class Ellipse : public BaseEllipse{private:    double a, b;public:    Ellipse(double a, double b) : a(a), b(b) {}    virtual double Area() const;};class Circle : public BaseEllipse{private:    double r;public:    Circle(double r) : r(r) { }    virtual double Area() const;};#endif // ELLIPSE_H_

ellipse.cpp

#include "ellipse.h"double Ellipse::Area() const{    return 3.14159 * a * b;}double Circle::Area() const{    return 3.14159 * r * r;}

测试类

#include 
#include "ellipse.h"int main(){ using std::cout; using std::endl; double a = 1.0, b = 2.0, r = 3.0; Ellipse * ellipse = new Ellipse(a, b); cout << ellipse->Area() << endl; Circle * circle = new Circle(r); cout << circle->Area() << endl; return 0;}

输出效果:

6.2831828.2743

 

转载地址:http://fosgo.baihongyu.com/

你可能感兴趣的文章
进程外Session和进程内Session存储
查看>>
系列超声发现脊柱关节炎附着点处新骨形成
查看>>
【模板】RMQ问题—st表实现
查看>>
数据指标体系建立
查看>>
Golang 笔记 4 defer、error、panic
查看>>
感冒休息
查看>>
linux命令学习——ps
查看>>
PHP下CKeditor 在线编辑器的使用
查看>>
帝国CMS跳过选择会员类型直接注册方法
查看>>
怎么给PDF文件裁剪页面呢?那种方法简单呢?
查看>>
python迭代器和生成器
查看>>
linux中ssh/scp连接远程ssh非22端口的服务器方法
查看>>
windows xp下添加loopback环回网卡
查看>>
Java synchronized详解
查看>>
PKI架构的简介,如何使用OPENSSL完成加密与解密,如何自建CA完成证书的签署。...
查看>>
光纤网卡和HBA卡有什么区别
查看>>
图说:Windows 8 如何更改开始屏幕主题
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
codevs——3344 迷宫
查看>>