C++面向对象程序设计 6.13

文章展示了如何在C++中定义一个基类Base,包含数据成员h和虚函数disp(),然后派生出Cuboid(长方体)和Cylinder(圆柱体)类,各自重写disp()函数。在主函数中,通过基类指针动态调用不同派生类的disp()方法,显示它们的体积,体现了多态性。
摘要由CSDN通过智能技术生成

【6.13】定义基类Base,其数据成员为高h,定义成员函效disp()为虚函数。然后,再由基类派生出长方体类Cuboid与圆柱体类Cylinder。并在两个派生类中定义成员函数disp()为虚函教。在主函数中,用基类Base定义指针变量pc,然后用指针pc动态调用基类与派生类中的虚函数disp(),显示长方体与圆柱体的体积。

#include<iostream>
using namespace std;
class Base{
	public:
		Base(double H)
		{	h=H;	}
		virtual void disp()
		{	cout<<"surprise!"<<endl;	}
	protected: 
		double h;
};
class Cuboid:public Base{
	public:
		Cuboid(double A,double B,double H):Base(H)
		{	a=A;b=B;	}
		void disp()
		{	cout<<a*b*h<<endl;	}
	private:
		double a;
		double b;
};
class Cylinder:public Base{
	public:
		Cylinder(double R,double H):Base(H)
		{	r=R;	}
		void disp()
		{	cout<<3.14*r*r*h<<endl;	}
	private:
		double r;
};
int main()
{
	Base *pc;
	Cuboid cu(2,4,5);
	Cylinder cy(5,7);
	pc=&cu;
	pc->disp();
	pc=&cy;
	pc->disp();
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值