2011-01-06 80 views
0

如果我有類CAnalyzer, ,我想從這個類指向新的類名稱CManager指針。 我該怎麼做? 注意:我需要在CAnalyzer中的init func內部製作指針。 感謝C++指針類

+0

如果您有一個CAnalyzer類,那麼您使用的是微軟的命名約定,每個類都以'C'開頭。如果您決定將其從班級更改爲結構,則必須在每個引用CAnalyzer **的文件中將CAnalyzer更改爲SAnalyzer **。最好不要在名稱中編碼數據類型。 – 2011-01-06 20:40:32

+0

@Thomas:「class」不是數據類型。 – ltjax 2011-03-18 11:59:11

+0

@Itjax:請說明您的參考。 「使用面向對象編程,程序員可以創建新的數據類型以滿足應用程序的需求,這種稱爲」數據抽象「的練習結果是一類新的數據。」,http://searchsoa.techtarget.com /定義/數據類型 – 2011-03-18 18:46:12

回答

0

通過init func,你的意思是構造函數?

CAnalyzer::CAnalyzer() 
{ 
    CManager *pManager = new CManager(); 
} 
3
class CManager; // Forward declaration (may not be needed) 

class CAnalyzer 
{ 
    // Other stuff goes here 

private: 
    CManager *p_manager; 
}; 

我不明白你的意思「我需要在CAnalyzer初始化FUNC裏面的指針」。

0

我不確定我完全理解你在問什麼,所以我會猜測。

你想寫一個CAnalyzer的成員函數,該函數返回一個指向CManager的新實例的指針?你可以這樣做:

CManager* CAnalyzer::CreateManager() 
{ 
    return new CManager; 
} 

但是,您應該使用智能指針而不是原始指針來實現強大的編程。