класс указателя c ++ - PullRequest
       1

класс указателя c ++

0 голосов
/ 06 января 2011

если у меня есть класс CAnalyzer, и я хочу сделать указатель из этого класса на новое имя класса CManager.как мне это сделать?примечание: мне нужно сделать указатель внутри init func в CAnalyzer.спасибо

Ответы [ 3 ]

3 голосов
/ 06 января 2011
class CManager;  // Forward declaration (may not be needed)

class CAnalyzer
{
    // Other stuff goes here

private:
    CManager   *p_manager;
};

Я не понимаю, что вы подразумеваете под " Мне нужно сделать указатель внутри init func в CAnalyzer ".

0 голосов
/ 06 января 2011

Вы имели в виду init func конструктор?

CAnalyzer::CAnalyzer()
{
    CManager *pManager = new CManager();
}
0 голосов
/ 06 января 2011

Я не уверен, что точно понимаю, о чем вы спрашиваете, поэтому я угадаю.

Вы хотите написать функцию-член CAnalyzer, которая возвращает указатель на новый экземпляр CManager? Вы можете сделать это так:

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

Однако вам следует использовать умные указатели, а не сырые указатели в интересах надежного программирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...