向上強制轉型


#include  <stdio.h>
#include <stdlib.h>
#include <conio.h>
class A
{
public:
	 void myfunc()
	{
		printf("A myfunc!\n");
		mytest();
	}
	virtual void mytest()
	{
		printf("A mytest!\n");
	}
};
class B:public A
{
public:
	void myfunc()
	{
		printf("B myfunc!\n");
	}
	virtual void mytest()
	{
		printf("B mytest!\n");
	}
};
void main()
{
	class B Bb;

	((class  A*)&Bb)->myfunc();
	((class A)Bb).myfunc();

	getch();
}


輸出code

A myfunc!對象

B myfunc!get

A myfunc!編譯器

A myfunc!io

緣由分析 在34行編譯器實現了隱式的拷貝構造 構造出一個A的對象編譯

相關文章
相關標籤/搜索