C++习题 虚函数-计算图形面积
C++习题 虚函数-计算图形面积
Time Limit: 1 Sec Memory Limit: 128 MB cid=1143&pid=6&langmask=1020" style="color:rgb(26,92,200); text-decoration:none">Submit id=2478" style="color:rgb(26,92,200); text-decoration:none">Status pid=2478&cid=1143" style="color:rgb(26,92,200); text-decoration:none">Web
Submit: 122 Solved: 86
[
Board
Description
Input
Output
全部图形面积之和(结果保留两位小数)
Sample Input
Sample Output
#include <iostream>
#include<iomanip>
using namespace std;
class Shape
{
public:
virtual float area()=0;
private: };
class Circle:public Shape
{
public:
Circle(float s)
{r=s;
}
float area(){return (3.1415926*r*r);}
private:
float r; }; class Square:public Shape
{
public:
Square (float s)
{
a=s;
}
float area() { return (a*a); }
private:
float a;
};
class Rectangle :public Shape
{
public:
Rectangle (float s,float d)
{
a=s;
b=d;
}
float area() { return (a*b);}
private:
float a,b;
};
class Trapezoid:public Shape
{
public:
Trapezoid (float s,float d,float ss)
{
w1=s;
w2=d;
h=ss;
}
float area() { return ((w1+w2)*h/2); }
private:
float w1,w2,h;
};
class Triangle:public Shape
{
public:
Triangle (float s,float d)
{
w=s;
h=d;
}
float area() { return (w*h/2); }
private:
float w,h;
}; int main() { float r,a,b,w1,w2,w,h; cout<<fixed<<setprecision(2); cin>>r; Circle circle(r); cin>>a; Square square(a); cin>>a>>b; Rectangle rectangle(a,b); cin>>w1>>w2>>h; Trapezoid trapezoid(w1,w1,h);//////////////////////////////////// cin>>w>>h; Triangle triangle(w,h); Shape *pt[5]= {&circle,&square,&rectangle,&trapezoid,&triangle}; double areas=0.0; for(int i=0; i<5; i++) areas=areas+pt[i]->area(); cout<<"total of all areas="<<areas<<endl; return 0; }
C++习题 虚函数-计算图形面积的更多相关文章
- 读书笔记 effective c++ Item 35 考虑虚函数的替代者
1. 突破思维——不要将思维限定在面向对象方法上 你正在制作一个视频游戏,你正在为游戏中的人物设计一个类继承体系.你的游戏处在农耕时代,人类很容易受伤或者说健康度降低.因此你决定为其提供一个成员函数, ...
- 虚函数列表: 取出方法 // 虚函数工作原理和(虚)继承类的内存占用大小计算 32位机器上 sizeof(void *) // 4byte
#include <iostream> using namespace std; class A { public: A(){} virtual void geta(){ cout < ...
- C++中虚函数继承类的内存占用大小计算
计算一个类对象的大小时的规律: 1.空类.单一继承的空类.多重继承的空类所占空间大小为:1(字节,下同): 2.一个类中,虚函数本身.成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空 ...
- 对C++虚函数、虚函数表的简单理解
一.虚函数的作用 以一个通用的图形类来了解虚函数的定义,代码如下: #include "stdafx.h" #include <iostream> using name ...
- C++之多态性与虚函数
面向对象程序设计中的多态性是指向不同的对象发送同一个消息,不同对象对应同一消息产生不同行为.在程序中消息就是调用函数,不同的行为就是指不同的实现方法,即执行不同的函数体.也可以这样说就是实现了&quo ...
- [转]C++之多态性与虚函数
面向对象程序设计中的多态性是指向不同的对象发送同一个消息,不同对象对应同一消息产生不同行为.在程序中消息就是调用函数,不同的行为就是指不同的实现方法,即执行不同的函数体.也可以这样说就是实现了“一个接 ...
- C++继承与多态练习--计算图形面积
1.目的: /*设计一个计算图形面积的类库. 类库的顶层是一个抽象类,并且提供三个纯虚函数:显示数据成员.返回面积和返回体积. Class Shape { virtual void showData( ...
- c++-纯虚函数和抽象类
纯虚函数和抽象类 C面向接口编程和C多态 函数类型语法基础 函数指针做函数参数(回调函数)思想剖析 函数指针做函数参数两种用法(正向调用.反向调用) 纯虚函数 抽象类 抽象类基本概念 抽象类在多继承中 ...
- C++多态性----运算符重载与虚函数
一.多态性 ①概述:多态是指同样的消息被不同类型的对象接收时导致的不同行为. ②类型: 可以分为四类:重载多态.强制多态.包含多态.参数多态. ------------------------ --- ...
随机推荐
- Android下QQ空间查看大图特效
近期在做一个项目,里面有一个功能是实现Android QQ好友动态里面的缩略图放大,查看大图的效果.用过都知道,这个特效非常赞的,没用过的下载个玩玩吧.我刚開始以为放大的那个大图是一个Activity ...
- c#后台弹出提示
Page.ClientScript.RegisterClientScriptBlock(typeof(string), "", @"<script>alert ...
- Eequal sum sets
Let us consider sets of positive integers less than or equal to n. Note that all elements of a set a ...
- UVA 565 565 Pizza Anyone? (深搜 +位运算)
Pizza Anyone? You are responsible for ordering a large pizza for you and your friends. Each of th ...
- hadoop出现ava.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonMappingException
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonMa ...
- Wireshark入门与进阶---数据包捕获与保存的最基本流程
Wireshark入门与进阶系列(一) "君子生非异也.善假于物也"---荀子 本文由CSDN-蚍蜉撼青松 [主页:http://blog.csdn.net/howeverpf]原 ...
- XMPPclient库Smack 4.0.6一个版本的开发
XMPPclient库Smack 4.0.6版开发之中的一个 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Smack库概述 Smack是一个开源. ...
- 通过Type.InvokeMethod实现方法的重载
版本:.NET Framework 3.5 先来一个反射调用方法的例子: using System; using System.Reflection; class Example { static v ...
- cocos2dx之lua项目开发中MVC框架的简单应用
**************************************************************************** 时间:2015-03-31 作者:Sharin ...
- Android中九种dialog对话框代码
public class MainActivity extends Activity { private static final int MAX_PROGRESS = 100; private st ...