?? 18-9.txt
字號:
/* 范例:18-9 */
#include <iostream.h>
class Base
{
public:
virtual void show(){} /* 要做向下轉型的動作,在父類中至少要含有一個虛擬
函數 */
};
class Derive: public Base{};
void main()
{
Base *ptr1 = new Derive;
Base *ptr2 = new Base;
Derive *ptr3;
ptr3 = dynamic_cast<Derive*>(ptr1);
if (ptr3)
{
cout << "ptr1 => ptr3 success!\n";
delete ptr3;
}
else
cout << "ptr1 => ptr3 failure!\n";
ptr3 = dynamic_cast<Derive*>(ptr2);
if (ptr3)
{
cout << "ptr2 => ptr3 success!\n";
delete ptr3;
}
else
cout << "ptr2 => ptr3 failure!\n";
getchar();
}
程序執行結果:
ptr1 => ptr3 success!
ptr2 => ptr3 failure!
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -