C++總是能讓我想起什麼(2)——動態綁定與上行轉換

#include<iostream>
using namespace std;
class CParent
{
public:
	void print1();
	virtual void print2();
};

class CChild:public CParent
{
public:
	void print1();
	virtual void print2();
};

void CParent::print1()
{
	printf("wo shi parent print1\n");
}

void CParent::print2()
{
	printf("wo shi parent print2\n");
}

void CChild::print1()
{
	printf("wo shi child print1\n");
}

void CChild::print2()
{
	printf("wo shi child print2\n");
}


int main()
{
	CParent p;
	CChild c;
	CParent *p1;
	CChild *c1;
	p1=dynamic_cast<CParent *>(&c);
	p1->print1();
	p1->print2();
	return 0;
}

結果圖:

虛函數,運行時,動態綁定
發佈了34 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章