首页 > 其他分享 >虚函数计算面积

虚函数计算面积

时间:2023-05-23 09:01:07浏览次数:39  
标签:return 函数 Area double 面积 class Shape 计算 public

#include <iostream>
#include <iomanip>
using namespace std;
class Shape{
public:
const double PI;
Shape():PI(3.1415926){
}
virtual double Area()=0;
};
class Circle:public Shape{
private:
double rad;
public:
double Area(){
setRad();
return PI * rad * rad;
}
void setRad(){
cin>>rad;
}
};
class Square:public Shape{
private:
double side;
public:
void setSide(){
cin>>side;
}
double Area(){
setSide();
return side * side;
}
};
class Rectangle:public Shape{
private:
double len,w;
public:
void setRec(){
cin>>len>>w;
}
double Area(){
setRec();
return len * w;
}
};
class Trapezoid:public Shape{
private:
double s,x,high;
public:
void setTra(){
cin>>s>>x>>high;
x = s;
}
double Area(){
setTra();
return (s + x) * high / 2;
}
};
class Triangle:public Shape{
private:
double d,h;
public:
void setTri(){
cin>>d>>h;
}
double Area(){
setTri();
return d * h / 2;
}
};
int main()
{
Shape *p[5];
double total = 0;
p[0] = new Circle;
p[1] = new Square;
p[2] = new Rectangle;
p[3] = new Trapezoid;
p[4] = new Triangle;
cout<<fixed<<setprecision(3);
for(int i = 0; i < 5; i++)
{
total += p[i]->Area();
delete p[i];
}
cout<<" "<<total<<endl;
return 0;
}

标签:return,函数,Area,double,面积,class,Shape,计算,public
From: https://www.cnblogs.com/yuanxinglan/p/17422283.html

相关文章

  • 实验四 函数与异常处理编程
    task1.py源代码1print(sum)2sum=423print(sum)4definc(n):5sum=n+16print(sum)7returnsum8sum=inc(7)+inc(7)9print(sum)运行截图答:不是同一个对象的名称。line1是内置作用域,line3,line11的sum是全局作用域,line7的sum是局部作用域......
  • 时间计算
    题目描述:定义一个时间类,小时和分钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少分钟。说明:这两个时间在同一天之内,且采用24小时计时分式,即从00:00-23:59。输入格式:测试输入包含若干测试用例,每......
  • 实验4 函数与异常处理编程
    实验任务1task1.py1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)回答:不是,line1是Built-in内置作用域,line3和line11是Global全局作用域,line7是Local局部......
  • 实验4 函数与异常处理编程
    task1.py运行代码:1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)运行结果:问题:不是,line1是build-infunctionsum,line3是指引入的sum=42,line7是指sum......
  • JavaScript函数
    1函数定义使用function关键字来定义,即functionfName(para,...){statment;...;},可使用在函数声明语句与函数定义表达式这两种形式中函数名称标识符fName。是函数声明语句必需的部分。它的用途就像变量的名字,新定义的函数对象会赋值给这个变量但对函数定义表达式来说......
  • strtok() 函数_2种方法的指针实现
    //Lvxin4-1strtok.cpp//strtok()函数的实现2种方法//下面的函数实现考虑一下3种极端情况://"-This,asamplestring"无行尾标志//"-This,asamplestring-"有一个行尾标志//"-This,asamplestring------”有多个行尾标志#define_CRT_SECURE_NO_WAR......
  • C语言函数大全-- x 开头的函数(2)
    C语言函数大全本篇介绍C语言函数大全--x开头的函数1.xdr_char1.1函数说明函数声明函数功能bool_txdr_char(XDR*xdrs,char*cp);用于将一个char类型的数据编码为XDR流或从XDR流中解码出一个char类型的数据参数:xdrs:指向要编码或解码数据的XD......
  • strtok() 函数 2种方法的指针实现
    //Lvxin4-1strtok.cpp//strtok()函数的实现2种方法//下面的函数实现考虑一下3种极端情况://"-This,asamplestring"无行尾标志//"-This,asamplestring-"有一个行尾标志//"-This,asamplestring------”有多个行尾标志#define_CRT_SECURE_NO_WAR......
  • 实验四 函数与异常处理编程
    实验任务一    task1    源代码     ViewCode    运行截图         函数名(line1)、参数(line3、7、11),其中line7为自定义函数inc内参数实验任务二    task2_1    源代码     ViewCode   ......
  • Qt 中md5 计算
    #include<QCryptographicHash>QByteArrayhash2=QCryptographicHash::hash(password.toLocal8Bit(),QCryptographicHash::Md5);autopwd=hash2.toHex().toStdString();源代码QByteArrayQCryptographicHash::hash(constQByteArray&data,Algorithmmeth......