程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-C++ 父類變量保存子類對象 怎樣訪問子類對象的屬性

c++-C++ 父類變量保存子類對象 怎樣訪問子類對象的屬性

編輯:編程綜合問答
C++ 父類變量保存子類對象 怎樣訪問子類對象的屬性

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屬性的值?**_你的這句話說的是將基類對象強轉為子類對象再去訪問子類的成員變量。但事實上這樣是不可能的!!!即使你轉換過來,也不能夠去用派生類的數據成員,當然這兒跟多態沒有任何的關系。多態指的是對方法的覆蓋(成員函數).

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved