多态性 学习笔记1

函数和运算符的重载

一般函数的重载

定义两个类,CPoint和CRectangle。CRectangle是从基类CPoint公有派生的。在派生类中重新定义了成员函数area()。如下:
#include<iostream>

class CPoint
{
public:
	double x,y;
	CPoint(double a,double b);
	double area();
};

CPoint::CPoint(double a,double b)
{
	x=a;
	y=b;
}

double CPoint::area()
{
	return 0.0;
}

class CRectangle:public CPoint
{
	double z;
public:
	CRectangle(double a,double b):CPoint(a,b)
	{
		z=0.0;
	}
	double area();
};

double CRectangle::area()
{
	z=x*y;
	return z;
}
using namespace std;

void main()
 
{
	CPoint p1(3.8,6.7);
	CRectangle r1(5.6,9.9);
	cout << p1.area() << endl;
	cout << r1.area() << endl;
	cout << r1.CPoint::area() << endl;
	cout << r1.CRectangle::area() << endl;
}



CPoint p1(3.8,6.7);
CRectangle r1(5.6,9.9);
cout << p1.area() << endl; //调用基类中的area()函数
cout << r1.area() << endl;//调用派生类中的area()函数,求矩形面积
cout << r1.CPoint::area();//调用基类中的area()函数
cout << r1.CRectangle::area() << endl;//调用派生类中的area()函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值