Форум программистов, компьютерный форум CyberForum.ru

Как это понимать? - C++

Восстановить пароль Регистрация
 
MelonFF
0 / 0 / 0
Регистрация: 06.03.2011
Сообщений: 4
06.03.2011, 16:02     Как это понимать? #1
Файл ExN02DetectorMessenger.hh


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef ExN02DetectorMessenger_h
#define ExN02DetectorMessenger_h 1
 
#include "globals.hh"
#include "G4UImessenger.hh"
 
class ExN02DetectorConstruction;    
class G4UIdirectory;                
class G4UIcmdWithAString;           
class G4UIcmdWithADoubleAndUnit;    
 
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 
class ExN02DetectorMessenger: public G4UImessenger
{
  public:
    ExN02DetectorMessenger(ExN02DetectorConstruction*);
   ~ExN02DetectorMessenger();
    
    void SetNewValue(G4UIcommand*, G4String);
    
  private:
    ExN02DetectorConstruction* myDetector;  
    
    G4UIdirectory*             N02Dir;
    G4UIdirectory*             detDir;
    G4UIcmdWithAString*        TargMatCmd;
    G4UIcmdWithAString*        ChamMatCmd;    
    G4UIcmdWithADoubleAndUnit* FieldCmd;
    G4UIcmdWithADoubleAndUnit* StepMaxCmd;    
};
 
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 
#endif
И часть файла ExN02DetectorMessenger.cc

C++
1
2
3
4
5
6
7
8
9
10
// Зеленым выделено здесь ;) - Nameless One
ExN02DetectorMessenger::ExN02DetectorMessenger(ExN02DetectorConstruction* myDet)
:myDetector(myDet)       
{ 
  N02Dir = new G4UIdirectory("/N02/");
 
  // ~~~~~~~~~~
 
 StepMaxCmd->AvailableForStates(G4State_Idle);    
}
подскажите как понимать строку выделенную зеленым??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.03.2011, 16:14     Как это понимать? #2
Понимай как конструктор с инициализацией элемента класса.
MelonFF
0 / 0 / 0
Регистрация: 06.03.2011
Сообщений: 4
06.03.2011, 16:52  [ТС]     Как это понимать? #3
C++
1
2
3
4
5
6
ExN02TrackerSD::ExN02TrackerSD(G4String name)   
:G4VSensitiveDetector(name)     
{
  G4String HCname;
  collectionName.insert(HCname="trackerCollection");    
}
а вот подобный случай только теперь G4VSensitiveDetector это класс, а не обьект, что тогда здесь происходит?
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.03.2011, 16:55     Как это понимать? #4
Чет хрустальный шар не кажет сегодня совсем. Давно уже хочу на карты Таро поменять...

Что такое G4VSensitiveDetector и как относится к ExN02TrackerSD?
MelonFF
0 / 0 / 0
Регистрация: 06.03.2011
Сообщений: 4
06.03.2011, 17:05  [ТС]     Как это понимать? #5
Цитата Сообщение от lemegeton Посмотреть сообщение
Чет хрустальный шар не кажет сегодня совсем. Давно уже хочу на карты Таро поменять...

Что такое G4VSensitiveDetector и как относится к ExN02TrackerSD?
нууу вот так вот...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class ExN02TrackerSD : public G4VSensitiveDetector
{
  public:
      ExN02TrackerSD(G4String);
     ~ExN02TrackerSD();
 
      void Initialize(G4HCofThisEvent*);
      G4bool ProcessHits(G4Step*, G4TouchableHistory*);
      void EndOfEvent(G4HCofThisEvent*);
 
  private:
      ExN02TrackerHitsCollection* trackerCollection;    
};
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
06.03.2011, 17:15     Как это понимать? #6
Это вызов конструктора класса-родителя в конструкторе дочернего класса. В принципе, это было и так понятно. Хотел посмотреть, получится ли у Вас угадать, имея на руках серьезную подсказку.

Вы что, пытаетесь разобраться в сложном коде не имея даже начальных познаний в С++? Бросьте это гиблое дело, прочитайте сначала книгу по синтаксису.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2011, 17:20     Как это понимать?
Еще ссылки по теме:

Странная реализация класса - многоточие: стоит ли понимать это буквально? C++
C++ Как понимать и как исправить идентификатор "cout" не определен ?
C++ Как понимать условие if (!a)?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MelonFF
0 / 0 / 0
Регистрация: 06.03.2011
Сообщений: 4
06.03.2011, 17:20  [ТС]     Как это понимать? #7
Цитата Сообщение от lemegeton Посмотреть сообщение
Это вызов конструктора класса-родителя в конструкторе дочернего класса. В принципе, это было и так понятно. Хотел посмотреть, получится ли у Вас угадать, имея на руках серьезную подсказку.

Вы что, пытаетесь разобраться в сложном коде не имея даже начальных познаний в С++? Бросьте это гиблое дело, прочитайте сначала книгу по синтаксису.
За ответ спасибо, а советы попридержите для других.
Yandex
Объявления
06.03.2011, 17:20     Как это понимать?
Ответ Создать тему
Опции темы

Текущее время: 11:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru