首页 > 其他分享 >派生

派生

时间:2023-04-26 22:55:40浏览次数:38  
标签:PI 派生 float Cir include called Dot

编写代码实现一个表示点的父类Dot和一个表示圆的子类Cir,求圆的面积。

Dot类有两个private数据成员 float x,y;

Cir类新增一个private的数据成员半径float r 和一个public的求面积的函数getArea( );

主函数已经给出,请编写Dot和Cir类。

#include <iostream>
#include<iomanip>
using namespace std;
const double PI=3.14;
//请编写你的代码
int main(){
    float x,y,r;
    cin>>x>>y>>r;
    Cir c(x,y,r);
    cout<<fixed<<setprecision(2)<<c.getArea()<<endl;
    return 0;
}

 

输入格式:

输入圆心和半径,x y r中间用空格分隔。

输出格式:

输出圆的面积,小数点后保留2位有效数字,注意:const double PI=3.14,面积=PI*r*r

输入样例:

在这里给出一组输入。例如圆的中心点为原点(0,0),半径为3:

0 0 4
 

输出样例:

在这里给出相应的输出。例如:

Dot constructor called
Cir constructor called
50.24
Cir destructor called
Dot destructor called
 1 #include <iostream>
 2 #include<iomanip>
 3 using namespace std;
 4 const double PI=3.14;
 5 class Dot
 6 {   private:
 7     float x,y;
 8  public:
 9     Dot(float a,float b)
10     {   x=a;
11         y=b;
12         cout<<"Dot constructor called"<<endl;
13     }
14  Dot(){
15      cout<<"Dot constructor called"<<endl;
16  }
17  ~Dot()
18  {
19      cout<<"Dot destructor called"<<endl;
20  }
21 };
22 class Cir:public Dot
23 {
24     public:
25     Cir(){
26     cout<<"Cir constructor called"<<endl;
27     }
28     Cir(float a,float b,float c):Dot(a,b),r(c)
29     {  
30         cout<<"Cir constructor called"<<endl;
31     }
32     ~Cir()
33     {
34         cout<<"Cir destructor called"<<endl;
35     }
36    float getArea()
37     {
38    return PI*r*r;
39     }
40     private:
41     float r;
42 };
43 
44 int main(){
45     float x,y,r;
46     cin>>x>>y>>r;
47     Cir c(x,y,r);
48     cout<<fixed<<setprecision(2)<<c.getArea()<<endl;
49     return 0;
50 }

 

标签:PI,派生,float,Cir,include,called,Dot
From: https://www.cnblogs.com/liubingyu/p/17357653.html

相关文章

  • 狗的继承(派生与继承)
    6-1狗的继承完成两个类,一个类Animal,表示动物类,有一个成员表示年龄。一个类Dog,继承自Animal,有一个新的数据成员表示颜色,合理设计这两个类,使得测试程序可以运行并得到正确的结果。函数接口定义:按照要求实现类裁判测试程序样例:/*请在这里填写答案*/intmain(){Anim......
  • 观察基类与派生类中成员函数的调用
    一、问题描述。用对象和指针来观察基类与派生类中成员函数的调用。二、设计思路。1、定义一个拥有fn1,fn2两个成员函数的基类BaseClass2、由基类BaseClass派生出一个同样拥有fn1,fn2两个成员函数的派生类DerivedClass3、在主函数中声明一个派生类的对象,及基类与派生类的指针4......
  • 观察基类与派生类的构造函数与析构函数的调用顺序
    一、设计思路1.定义一个哺乳动物类Mammal,2.派生出一个狗类Dog,3.定义一个dog类的对象,通过代码的执行顺序来判断观察观察基类与派生类的构造函数与析构函数的调用顺序。二、程序流程图。   三、代码实现。#pragmaonceclassMammal{public: Mammal(); ~Mammal();}......
  • 定义一个基类Base,有两个公有成员函数fn1,fn2,私有派生出Derived类,如何通过Derived类
    定义一个基类Base,有两个公有成员函数fn1,fn2,私有派生出Derived类,如何通过Derived类的对象调用基类的函数fn1。#include<bits/stdc++.h>usingnamespacestd;classBase{public: intfn1(){return0;} intfn2(){return0;}};classDerived:privateBase{publi......
  • 定义一个基类Object,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员hei
    定义一个基类Object,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员height和width及相应的操作函数,声明一个Box对象,观察构造函数与析构函数的调用顺序。#include<bits/stdc++.h>usingnamespacestd;classObject{protected: doubleweight;public: Object(......
  • C++派生类里析构函数和构造函数的调用顺序
    C++派生类里析构函数和构造函数的调用顺序1.定义一个哺乳类Mammal,在由此派生出狗类Dog,定义一个Dog类的对象,观察基类和派生类的构造函数与析构函数的调用顺序。#include<bits/stdc++.h>usingnamespacestd;classMammal{public: Mammal(){ cout<<"constructedM"<<e......
  • 继承与派生
    目录继承介绍继承与抽象总结属性查找单继承下的属性查找多继承下的属性查找非菱形查找深度优先广度优先super关键字与mro列表派生方法案例mro列表组合继承介绍继承是一种......
  • 派生,super 多态与多态性 组合
    派生的方法与重用:方法一:指名道姓的调用某一类函数>>>classTeacher(People):...def__init__(self,name,sex,age,title):...People.__init__(self,name......
  • 注册插件:违反了继承安全性规则,派生类型必须与基类型的安全性匹配或低于比基类型的安
    当项目升级到VS2010或者2012后(同时NET版本也升级到4.0),会出现如下错误提示信息:类型“XXX”违反了继承安全性规则。派生类型必须与基类型的安全可访问性匹配或者比基类型......
  • 通过基类指针访问派生类
    可以使用多态性来通过基类指针访问子类。当一个基类的指针指向一个派生类的对象时,可以使用以下方式访问子类。使用虚函数将函数声明为虚函数,并在派生类中重写该函数,然后......