题目描述:

写一个程序计算三角形,正方形和圆形3种图形的面积

程序代码:

#include<iostream>
#include<cmath>
#define PAI 3.1415
using namespace std;
class Shape
{
public:
virtual float area() //定义一个求面积的成员函数
{
return 0;
}
virtual void ShapeName() = 0;//定义一个纯虚函数
};
class Triangle:public Shape
{
public:
Triangle(float x,float y,float z):a(x),b(y),c(z){};
void ShapeName()
{
cout<<"Triangle:"<<endl;
}
float area()
{
float p = (a+b+c)/2;
float s = sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
private:
float a,b,c;
};
class Square:public Shape
{
public:
Square(float l):length(l){};
void ShapeName()
{
cout<<"Square:"<<endl;
}
float area()
{
float s = length * length;
return s;
}
private:
float length;
};
class Circle:public Shape
{
public:
Circle(float r):radius(r){};
void ShapeName()
{
cout<<"Square:"<<endl;
}
float area()
{
float s = PAI*radius*radius;
return s;
}
private:
float radius;
};
int main()
{
Shape *pt;
pt = new Triangle(3,4,5);
pt->ShapeName();
cout<<"Area:"<<pt->area()<<endl;
cout<<"================================"<<endl;
pt = new Square(2.5);
pt->ShapeName();
cout<<"Area:"<<pt->area()<<endl;
cout<<"================================"<<endl;
pt = new Circle(2.5);
pt->ShapeName();
cout<<"Area:"<<pt->area()<<endl;
return 0;
}

结果输出:

Triangle:
Area:6
================================
Square:
Area:6.25
================================
Square:
Area:19.6344

C++面向对象类的实例题目十一的更多相关文章

  1. C++面向对象类的实例题目四

    题目描述: 以面向对象的概念设计一个类,此类包含3个私有数据:unlead.lead(无铅汽油和有铅汽油)以及total(当天总收入,无铅汽油的价格是17元/升,有铅汽油的加个是16元/升),请以构造 ...

  2. C++面向对象类的实例题目十

    题目描述: 编写一个程序,其中有一个汽车类vehicle,它具有一个需要传递参数的构造函数,类中的数据成员:车轮个数wheels和车重weight放在保护段中:小车类car是它的私有派生类,其中包含载 ...

  3. C++面向对象类的实例题目九

    题目描述: 编写一个学生和老师数据输入和显示程序,学生数据有编号.姓名.班号和成绩,教师数据有编号.姓名.职称和部门. 要求将编号.姓名.输入和显示设计成一个类person,并作为学生数据操作类stu ...

  4. C++面向对象类的实例题目八

    题目描述: 编写一个程序输入3个学生的英语和计算机成绩,并按照总分从高到低排序.要求设计一个学生类Student,其定义如下: 程序代码: #include<iostream> using ...

  5. C++面向对象类的实例题目七

    题目描述: 编写两个有意义的类,使一个类嵌套在另一个类中. 分析: 本题涉及两个类student和cdegree,前者为学生类,包含学生的学号(nubner),姓名(name)和成绩(degree), ...

  6. C++面向对象类的实例题目五

    题目描述: 编写一个程序,采用一个类求n!,并输出5!的值. 程序代码: #include<iostream> using namespace std; class CFactorial ...

  7. C++面向对象类的实例题目十二

    题目描述: 写一个程序计算正方体.球体和圆柱体的表面积和体积 程序代码: #include<iostream> #define PAI 3.1415 using namespace std ...

  8. C++面向对象类的实例题目六

    问题描述: 编写一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数. 程序代码: #include<iostream> ...

  9. C++面向对象类的实例题目三

    编写一个程序,设计一个满足如下要求的CData类. (1)用下面的格式输出日期:日/月/年 (2)输出在当前日期上加一天后的日期 (3)设置日期 code: #include<iostream& ...

随机推荐

  1. 51nod 1117 贪心

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1117 1117 聪明的木匠 题目来源: 河北大学算法艺术协会 基准时间限 ...

  2. CruiseControl初探

    一.背景 CruiseControl从<项目自动化之道>这本书中了解到,然后又从网上查资料做了一定尝试.同时,项目持续集成这部分我也计划在自己参与的项目上先试点实行,才有了这篇文章. 二. ...

  3. 21 Python 异常处理

    异常和错误                                                      AttributeError 试图访问一个对象没有的树形,比如foo.x,但是fo ...

  4. java学习笔记 --- 网络编程(套接字)

    1.Socket通信原理 Socket套接字概述: 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字. 通信的两端都有Socket. 网络通信其实就是Socket间的通信 ...

  5. php 与 Smarty 中的 isset

    今天在做一个分页模块的时候,在获取前端返回的当前页时,烦了一个大错!本来应该是这样子滴: 而咱却写成了这个样子: 在php里输出测试都没错,结果到Smarty里就被拒了! 测试结果是 这货跟谁都相等, ...

  6. Effective C++ 条款10

    令operator=返回一个reference to *this 将operator=返回一个reference是为了什么呢?答案很简单,就是为了实现连锁形式. 什么是连锁形式,如int x,y,z: ...

  7. 使用range()生成自然数序列

  8. UVA - 11324 The Largest Clique (强连通缩点+dp)

    题目链接 题意:从有向图G中找到一个最大的点集,使得该点集中任意两个结点u,v满足u可达v或v可达u. 解法:先把同处于一个强连通分量中的结点合并(缩点),得到一张DAG图,在DAG上dp即可. 感觉 ...

  9. C# 代码注释和Config文件中,特殊符号的书写方法。

    App.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> ...

  10. BZOJ4303:数列

    浅谈\(K-D\) \(Tree\):https://www.cnblogs.com/AKMer/p/10387266.html 题目传送门:https://lydsy.com/JudgeOnline ...