tuxing,虚函数

cpp 复制代码
#include<iostream>
using namespace std;
class tuxing{
	protected:		
		double r;
	public: 
		tuxing(int r1)
		{
			r=r1;
		}
		tuxing()
			{		
			}
		virtual double biaomianji()
		{
			return 0;
		}
	virtual double tiji()
	{
		return 0;
	}
};
class zhengfangti:public tuxing{
	public:		
		zhengfangti(double r1):tuxing(r1)
			{		
			}
	virtual double biaomianji()
	{
		return r*r*6;
	}
	virtual double tiji()
	{
		return r*r*r;
	}
};
class yuan:public tuxing{
	public:
		yuan(double r1):tuxing(r1)
		{		
		}
	virtual double biaomianji()
		{
			return r*r*3.14/4;
		}
		virtual double tiji()
		{
			return r*r*r*3.14*3/4;
		}
};
class yuanzhu:public tuxing 
{
	protected:
		double h;
	public:		
	yuanzhu(double r1,double h1):tuxing(r1)
	{
		h=h1;	
	}
	virtual double biaomianji()
			{
				return 2*r*3.14*h;
			}
			virtual double tiji()
			{
				return r*r*3.14*h;
			}	
};
void TopPrint(tuxing&r )
{
cout<<r.biaomianji()<<endl;
cout<<r.tiji()<<endl;
}
int main()
{	
	tuxing p1(4),*p;	
	zhengfangti p2(4);
	yuan p3(4);
	yuanzhu p4(4,3);
	p=&p2;
  	   cout<<p->tiji()<<endl;
       cout<<p->biaomianji()<<endl;
	p=&p3;
		cout<<p->tiji()<<endl;
	    cout<<p->biaomianji()<<endl;
	p=&p4;
		cout<<p->tiji()<<endl;
	    cout<<p->biaomianji()<<endl;
TopPrint(p2);
TopPrint(p3);	
TopPrint(p4);	
	return 0;
}
相关推荐
L_autinue_Star21 分钟前
手写vector容器:C++模板实战指南(从0到1掌握泛型编程)
java·c语言·开发语言·c++·学习·stl
我爱C编程26 分钟前
基于Qlearning强化学习的1DoF机械臂运动控制系统matlab仿真
算法
chao_78938 分钟前
CSS表达式——下篇【selenium】
css·python·selenium·算法
元气小嘉42 分钟前
前端技术小结
开发语言·前端·javascript·vue.js·人工智能
chao_78944 分钟前
Selenium 自动化实战技巧【selenium】
自动化测试·selenium·算法·自动化
YuTaoShao1 小时前
【LeetCode 热题 100】24. 两两交换链表中的节点——(解法一)迭代+哨兵
java·算法·leetcode·链表
怀旧,1 小时前
【数据结构】8. 二叉树
c语言·数据结构·算法
泛舟起晶浪1 小时前
相对成功与相对失败--dp
算法·动态规划·图论
励志的大鹰哥1 小时前
V少JS基础班之第七弹
开发语言·javascript·ecmascript
AI360labs_atyun1 小时前
Java在AI时代的演进与应用:一个务实的视角
java·开发语言·人工智能·科技·学习·ai