2011-01-06 42 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; 
} 

但是,您应该使用智能指针而不是原始指针来实现强大的编程。