您的位置:首页 > 其它

十三周实验报告3

2012-05-14 18:20 267 查看
01./* (程序头部注释开始)
02.* 程序的版权和版本声明部分
03.* Copyright (c) 2011, 烟台大学计算机学院学生
04.* All rights reserved.
05.* 文件名称:renwu.cpp
06.* 作    者:刘文英
07.* 完成日期:2012 年 5 月 14 日
08.* 版 本 号:13.3
09.* 对任务及求解方法的描述部分
10.* 输入描述:略
11.* 问题描述:略
12.* 程序输出:略
13.* 程序头部的注释结束
14.*/
15.#include<iostream>
16.#include<Cmath>
17.using namespace std;
18.const double pi=3.1415926;
19.
20.class Shape //定义抽象基类
21.{
22.public:
23.    virtual double areas()=0;
24.};
25.
26.class Circle: public Shape   //利用抽象基类定义圆类
27.{
28.public:
29.    Circle(double Circle_radius);//构造函数
30.    ~Circle(){}
31.    double areas();
32.private:
33.    double Circle_radius;
34.};
35.
36.class Rectangle: public Shape    //利用抽象基类定义矩形类
37.{
38.public:
39.    Rectangle(double Rectangle_long,double Rectangle_wide);//构造函数
40.    ~Rectangle(){}
41.    double areas();
42.private:
43.    double Rectangle_long;
44.    double Rectangle_wide;
45.};
46.
47.class Triangle: public Shape  //利用抽象基类定义三角形类
48.{
49.public:
50.    Triangle(double Triangle_bottom,double Triangle_high); //构造函数
51.    ~Triangle(){}
52.    double areas();
53.private:
54.    double Triangle_bottom;
55.    double Triangle_high;
56.};
57.
58.Circle::Circle(double Circle_radius)//构造函数
59.{
60.    this->Circle_radius=Circle_radius;
61.}
62.
63.double Circle::areas()
64.{
65.    return (pi*Circle_radius*Circle_radius);
66.}
67.
68.Rectangle::Rectangle(double Rectangle_long,double Rectangle_wide)
69.{
70.    this->Rectangle_long=Rectangle_long;
71.    this->Rectangle_wide=Rectangle_wide;
72.}
73.
74.double Rectangle::areas()
75.{
76.    return (Rectangle_long*Rectangle_long);
77.}
78.
79.Triangle::Triangle(double Triangle_bottom,double Triangle_high)
80.{
81.    this->Triangle_bottom=Triangle_bottom;
82.    this->Triangle_high=Triangle_high;
83.}
84.
85.double Triangle::areas()
86.{
87.    return (Triangle_bottom*Triangle_high/2);
88.}
89.
90.int main()
91.{
92.    Circle c1(12.6),c2(4.9);    //建立Circle类对象c1,c2,参数为圆半径
93.    Rectangle r1(4.5,8.4),r2(5.0,2.5);       //建立Rectangle类对象r1,r2,参数为矩形长、宽
94.    Triangle t1(4.5,8.4),t2(3.4,2.8);    //建立Triangle类对象t1,t2,参数为三角形底边长与高
95.    Shape *pt[6]={&c1,&c2,&r1,&r2,&t1,&t2}; //定义基类指针数组pt,各元素指向一个派生类对象
96.    double areas=0.0;      //areas为总面积
97.    for(int i=0; i<6; i++)
98.    {
99.        areas=areas+pt[i]->areas();
100.    }
101.    cout<<"totol of all areas="<<areas<<endl;   //输出总面积
102.    system("pause");
103.    return 0;
104.}
运行结果:totol of all areas=643.099

                     请按任意键继续. . .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  system c 任务