对于C++中的虚函数,想必大家都不陌生,但是对于初学C++的人来说,却不知虚函数的设计目的是什么,而对于C++还不太熟练的人,虽然知道虚函数的设计目的,却不知其实现机制,当你明白了一个事物的原理,用起来不也就得心应手了吗?所以,我就从这两个方面来解析虚函数。这一篇先谈谈虚函数的设计目的。
接下来说说虚函数的设计目的,先看一段代码吧,在实践中找出问题,然后再解决问题,这是一个不错的学习方法:
#include<iostream>
using namespace std;
//形状类
class CShape
{
public:
CShape(){}
~CShape(){}
//打印面积
virtual void PrintArea() const
{
cout<<"CShape area!"<<endl;
}
};
//矩形类
class CRectangle:public CShape
{
public:
CRectangle(){}
~CRectangle(){}
//打印面积
void PrintArea() const
{
cout<<"CRectangle area!"<<endl;
}
};
//三角形类
class CTriangle:public CShape
{
public:
CTriangle(){}
~CTriangle(){}
//打印面积
void PrintArea() const
{
cout<<"CTriangle area!"<<endl;
}
};
//圆形类
class CCircle:public CShape
{
public:
CCircle(){}
~CCircle(){}