【第22期】观点:IT 行业加班,到底有没有价值?

飛飛(五十二)抽象类的应用,用指向基类的指针,且基类为抽象类

原创 2016年05月31日 19:06:23
/* 
*Copyright (c) 2016,烟台大学计算机学院 
*All rights reserved. 
*文件名称:test.cpp 
*作    者:李飞 
*完成日期:2016年 5月 31日 
*版 本 号:1.0 
* 
*问题描述:抽象类的应用,用指向基类的指针,且基类为抽象类
*输入描述: 
*程序输出: 
*/ 
#include <iostream>
#include<Cmath>
using namespace std;
class CSolid
{
public:
      virtual double SurfaceArea()const=0;
      virtual double Volume()const =0;
};
class CCube:public CSolid
{
public:
      CCube(double len=0);
      double SurfaceArea()const;
      double Volume()const;
private:
      double length;

};
CCube::CCube(double len)
{
      length=len;
}
double CCube::SurfaceArea()const
{
      double c;
      c=6*length*length;
      return c;
}
double CCube::Volume()const
{
      double c;
      c=length*length*length;
      return c;
}
int main()
{
      CSolid *p;
      double s,v;
      CCube x(30);
      cout<<"正方体的边长是30"<<endl;
      p=&x;
      s=p->SurfaceArea();
      v=p->Volume();
      cout<<"表面积为:"<<s<<endl;
      cout<<"体积为:"<<v<<endl;
      return 0;
}














版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

函数指针实例 + 静态成员变量实例 + 纯虚函数和抽象类定义 + 基类析构函数声明为virtual的作用

函数指针  函数指针是指向函数的指针变量。  因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每...

虚函数和虚基类、纯虚函数、抽象类抽象方法 ,动态绑定

抽象类与接口紧密相关,它们不能实例化,并且常常部分实现或根本不实现。抽象类和接口之间的一个主要差别是:类可以实现无限个接口,但仅能从一个抽象(或 任何其他类型)类继承。从抽象类派生的类仍可实现接口。可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定 实现之后...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

关于基类、派生类、对象、指针和虚函数、多态、 静态绑定、 动态绑定 纯虚函数、抽象类

以下观点来源于《深入浅出MFC》到底调用到哪个函数,必须视指针的原始类型而定,于指针实际所指对象无关。1.如果你以一个“基类之指针”指向“派生类”,那么经由该指针你只能够调用基类所定义的函数。2.如果...

多线程下谨慎对待基类(抽象类)中的成员变量

有这么个需求: 做开发一套在oracle和mysql中做业务数据复制,其中具体的业务还没确定,目前需要开发一套 框架,需要在业务确定后,只需做少了开发即可实现,我使用了ibatis+spring ,以后扩展时,只需增加ibatis的配置文件即可,而配置文件中的每个ID都是由以下规则生成: 业...

飛飛(四十七)定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。

对Virtual有了进一步的认识
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)