Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Coding question



Hi Mailingliste,
 
i have here a question about coding.
 
Klaus uses abstract (virtual) classes, but why is he also using the virtual keyword in this way:
 
class cDvbDevice : public cDevice {
private:
  static bool Probe(const char *FileName);
         ///< Probes for existing DVB devices.
public:
  static bool Initialize(void);
         ///< Initializes the DVB devices.
         ///< Must be called before accessing any DVB functions.
         ///< \return True if any devices are available.
private:
  fe_type_t frontendType;
  int fd_osd, fd_audio, fd_video, fd_dvr, fd_stc;
protected:
  virtual void MakePrimaryDevice(bool On);
public:
  cDvbDevice(int n);
  virtual ~cDvbDevice();
  virtual int ProvidesCa(const cChannel *Channel) const;
  virtual bool HasDecoder(void) const;
 
// SPU facilities
 
private:
  cDvbSpuDecoder *spuDecoder;
public:
  virtual cSpuDecoder *GetSpuDecoder(void);
 
// Channel facilities
 
private:
  cDvbTuner *dvbTuner;
  void TurnOffLiveMode(void);
public:
  virtual bool ProvidesSource(int Source) const;
  virtual bool ProvidesTransponder(const cChannel *Channel) const;
  virtual bool ProvidesChannel(const cChannel *Channel, int Priority = -1, bool *NeedsDetachReceivers = NULL) const;
protected:
  virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
public:
  virtual bool HasLock(void);
 
 
I always thought that i only need to use virtual on the motherclass and the childclass dont need it.
In my biggest project, a game engine, i dont use virtual in the childclass.
Could somebody explain this to me?
 
Thanks, Christian

Home | Main Index | Thread Index