纯虚函数简单示例
来源:互联网 发布:sql安装参数错误 编辑:程序博客网 时间:2024/05/21 04:26
- #include <stdio.h>
- #include <stdlib.h>
- #define PI 3.1415926
- class Shape
- {
- private:
- double ValuePerSquareUnit;
- protected:
- Shape(double valuePerSquareUnit):
- ValuePerSquareUnit(valuePerSquareUnit)
- {
- }
- public:
- virtual double area() const = 0;
- double value() const
- {
- return ValuePerSquareUnit * area();
- }
- virtual ~Shape()
- {
- printf("Shape::~Shape() is called");
- }
- double getPerSquareUnit()
- {
- return ValuePerSquareUnit;
- }
- };
- class Rectangle : public Shape
- {
- private:
- double Width;
- double Height;
- public:
- Rectangle(double width, double height, double valuePerSquareUnit):
- Shape(valuePerSquareUnit),Width(width),Height(height)
- {
- }
- virtual ~Rectangle()
- {
- }
- virtual double area() const
- {
- return Width * Height;
- }
- };
- class Circle: public Shape
- {
- double Radius;
- public:
- Circle(double radius, double valuePerSquareUnit):
- Shape(valuePerSquareUnit),Radius(radius)
- {
- }
- virtual ~Circle()
- {
- }
- virtual double area() const
- {
- return PI * Radius * Radius;
- }
- };
- int main()
- {
- Rectangle* pr = new Rectangle(30, 20, 10);
- Circle* pc = new Circle(15, 10);
- //invoke Rectangle::area()
- printf("rectangle: area = %.2f, PerSquareUnit = %.2f, value = %.2f\n",
- pr->area(), pr->getPerSquareUnit(), pr->value());
- //invoke Circle::area()
- printf("circle : area = %.2f, PerSquareUnit = %.2f, value = %.2f\n",
- pc->area(), pc->getPerSquareUnit(), pc->value());
- Shape* shape;
- shape = pr;
- printf("rectangle: area = %.2f, PerSquareUnit = %.2f, value = %.2f\n",
- shape->area(), shape->getPerSquareUnit(), shape->value());
- shape = pc;
- printf("circle : area = %.2f, PerSquareUnit = %.2f, value = %.2f\n",
- shape->area(), shape->getPerSquareUnit(), shape->value());
- return 0;
- }
终端输入: g++ -o PureFunction PureFunction.cpp
./PureFunction
输出:
rectangle: area = 600.00, PerSquareUnit = 10.00, value = 6000.00
circle : area = 706.86, PerSquareUnit = 10.00, value = 7068.58
rectangle: area = 600.00, PerSquareUnit = 10.00, value = 6000.00
circle : area = 706.86, PerSquareUnit = 10.00, value = 7068.58
0 0
- 纯虚函数简单示例
- 虚函数简单示例
- C++虚函数和纯虚函数示例
- 【C++】纯虚函数的简单应用。
- 信管14:纯虚函数示例代码
- 三十、纯虚函数、抽象类、多态、简单工厂模式
- 纯C语言简单模拟C++的虚函数表
- 简单工厂模式与纯虚函数的应用
- 简单画图板示例(虚函数应用示例)
- mysql简单函数示例
- 函数指针简单示例
- 纯虚函数
- 纯虚函数
- (纯)虚函数意义
- 纯虚函数
- c++纯虚函数
- 纯虚函数(转)
- 纯虚函数
- 互斥型信号量
- 多线程编程(一)多线程基础
- Git的使用
- iOS 判断字符串中含有某个字符串
- maven详解六、maven的使用问答
- 纯虚函数简单示例
- windows 上安装2个mysql 无法启动错误处理
- Handler相关
- 【JAVA学习】Core Java读书记录
- Android开发常见的面试题大全(一)
- 前端面试--大众点评
- Android NDK入门(实现简单的NDK程序)
- 工具+方法
- 提高项目4-求阶乘函数