class Command
{
public:
int id;
int type;
}
class OnCommand : Command
{
public:
int OnCount;
}
先申明了一個父類的變量 Command cmd;
經過一些處理後 cmd被賦值了一個OnCommand對象
請問如何將cmd轉換為OnCommand然後獲取裡邊OnCount屬性的值?
不允許這樣獲取麼?
你所用的是繼承,而不是內嵌對象, _先申明了一個父類的變量 Command cmd;經過一些處理後 cmd被賦值了一個OnCommand對象_你的這句話,實際上就是賦值兼容規則的體現。用子類對象去初始化父類對象,http://www.cnblogs.com/gavindlutsw/archive/2011/08/11/2135599.html,這個鏈接好好看看。_**請問如何將cmd轉換為OnCommand然後獲取裡邊OnCount屬性的值?**_你的這句話說的是將基類對象強轉為子類對象再去訪問子類的成員變量。但事實上這樣是不可能的!!!即使你轉換過來,也不能夠去用派生類的數據成員,當然這兒跟多態沒有任何的關系。多態指的是對方法的覆蓋(成員函數).