首页 > 其他分享 >类的继承5

类的继承5

时间:2023-04-13 21:49:06浏览次数:40  
标签:return 继承 float int Shape public getArea

#include <iostream>
#define pi 3.14
using namespace std;

class Shape{
public:
virtual float getArea(){return 0;}
virtual ~Shape(){}
};
class Rectangle:public Shape{
private:
int lenth,width;
public:
Rectangle(int len,int wid):lenth(len),width(wid){}
float getArea(){return width*lenth;}
};
class Circle:public Shape{
private:
int r;
public:
Circle(int r1):r(r1){}
float getArea(){return pi*r*r;}
};
int main()
{
int a,b,r;
cout<<"Input a,b:";
cin>>a>>b;
cout<<"Input r:";
cin>>r;
Shape *ps;
ps=new Rectangle(a,b);
Shape *pr;
pr=new Circle(r);
cout<<"Rectangle Area:"<<ps->getArea()<<","<<"Circle Area:"<<pr->getArea()<<endl;
delete ps;
delete pr;
return 0;
}

 

标签:return,继承,float,int,Shape,public,getArea
From: https://www.cnblogs.com/yuanxinglan/p/17316493.html

相关文章

  • 类的继承6
    #include<iostream>usingnamespacestd;classMammal{ public: Mammal(){ cout<<"Mammal构造"<<endl; } ~Mammal(){ cout<<"析构Mammal"<<endl; }};classDog:publicMammal{ public: Dog(){ cout<<&quo......
  • 类的继承4
    #include<iostream>usingnamespacestd;classBase0{ public: intvar0; voidfun0(){ cout<<"MemberofBase0"<<endl; }};classBase1:virtualpublicBase0{ public: intvar1;};classBase2:virtualpublicBase0{ public: intvar2;......
  • 跟着查老四学Python Day 9:继承和多态
    继承例行寒暄之后,课程正式开始查老四:继承是面向对象编程中的一个重要概念。它允许我们创建一个新类,继承一个现有类的属性和方法,从而实现代码的重用。新类被称为子类,现有类被称为父类。在Python中,通过在子类名后的括号中写入父类名来实现继承。下面是一个简单的示例#父类classAni......
  • 关于a标签未能继承父盒子color颜色
    <div><ahref="">www</a></div>div{color:red;}从结构上来说肯定期望a标签能够继承div的color属性将文字的颜色设置为红色但实际的网页表现为看上去并没有继承color打开开发者工具查看后发现这里a标签继承的color被划掉了,因为继承的权重太低了为0......
  • 类的继承3
    #include<iostream>usingnamespacestd;classBase1{ public: intvar; voidfun() { cout<<"MembberofBase1"<<endl; } };classBase2{ public: intvar; voidfun(){ cout<<"MemberofBase2"<<endl; }};......
  • 类的继承2
    #include<iostream>usingnamespacestd;classBase1{ public: Base1(inti){ cout<<"ConstructingBase1"<<i<<endl; } Base1(){ cout<<"ConstructingBase1"<<endl; }};classBase2{ public: Base2(intj......
  • 类的继承1
    #include<iostream>usingnamespacestd;classBase1{ public: Base1(inti){ cout<<"ConstructingBase1"<<i<<endl; }};classBase2{ public: Base2(intj){ cout<<"ConstructingBase2"<<j<<endl; ......
  • 封装,继承,多态
    封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。记住这句话就够......
  • 第一章 static、单例与继承
    目录面向对象一、static关键字1、static修饰成员变量2、static修饰成员变量内存中执行原理3、成员方法的执行原理4、工具类5、静态关键字注意事项6、代码块java静态代码块,构造方法,构造代码块的执行先后顺序1、执行顺序2、java中父类和子类代码执行顺序设计模式单例模式继承1、执行......
  • 面向对象 之 原型继承
    搞清楚constructor构造器、prototype构造原型、实例对象三者关系constructor就是构造函数的名字,prototype是原型对象,每个构造函数都必须有一个原型对象;构造函数要被继承的方法在这里存放才不会浪费堆区空间;构造函数里面的this,无论在构造函数里,还是在原型对象里都得指向实......