您的位置:首页 > 编程语言 > C语言/C++

【BigHereo 39】---L12---C++真题之 最后大题代码

2017-10-26 12:11 232 查看
L12---C++真题之 最后大题代码
   

前言:

     不论是数据结构,操作系统,还是C++程序设计, 凡是语言中,必定少不了对语言的运用, 就是生命中的需求,用该语言表达出来,简单的来说,就是进行一个翻译, 考试中,后面大题就是这类,下面先进行一个代码的分析思路和对真题的一个解析:
 
        


  

真题:2015年10月 

   原题:写一个程序,定义shape,由它派生成3个类,square(正方形),Trapezoid(梯形)和Triangle(三角形),用虚函数计算几个图形面积并求他们的总和:   解答:在书中教材p174 首先:头文件声明 #include <iostream>
using namespace std;
 声明抽象类 class shape{
public:
virtual double area()=0;
};


  分别声明每一个类(1,声明要用到的变量;2,声明构造函数; 3,进行计算)class square: public shape{
private:
double a, b;

public:
square(double i, double j): a(i),b(j){} //将i赋值给a,
//或者 square(double i,double j){ a=i; b=j;} ---,构造函数这和上面是一致的
//其他三角形,梯形等都是一致的

double area(){ return a*b; }
}

  进行计算  void mian(){
shape *s[5];
s[0]=new square(4);
s[1]=new triangle(3,6);
s[2]=new rectangle(3,6);
s[3]=new circle(10);
s[4]=new square(10);

double sum=0.0;
for(int i=0; i<=5;i++)
sum+=s[i]->area();
cout <<"s["<<i<<"]=" << s[i]->area()<<endl; //输出每一个的面积大小
cout<<"总面积是:"<<sum<<endl; //输出总面对大小
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: