C++ 多态性 1-- 父类强制转换为子类,关键字dynamic_cast

#include 
#include 
using namespace std;
/*---------------------------------
     16-02 父类的强制转换 
---------------------------------*/
class father
{
public:
	void smart()
	{
		cout<<"父亲很聪明"<>choice;
		switch(choice)
		{
			case 0:
				quit=true;
				break;
			case 1:
				pf =new father;
				//pf->beautiful();
				break;
			case 2:
				pf =new son; //dynamic_cast可以对不同类之间的数据类型进行转换
				dynamic_cast(pf)->beautiful(); //它可以将一个基类的指针转换成派生类的指针
				pf->smart();
				delete pf;
				break;
			default:
				cout<<"请输入0到2之间的数字:";
				break;
		}
		if(quit)
			break;	
	}


	cout<<"程序结束"<

你可能感兴趣的:(vc6.0,C++)