本文主要是介绍【BigHereo 39】---L12---C++真题之 最后大题代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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; //输出总面对大小
}
这篇关于【BigHereo 39】---L12---C++真题之 最后大题代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!