Beginner C ++: virtual functions in a base class

I am writing code where I defined the following base class.

class Chorus{
  public:

    //Destructor
    virtual ~Chorus();

    //callback function
    virtual int callback( void *outputBuffer, void *notUsed, unsigned int 
       nBufferFrames, double streamTime, RtAudioStreamStatus status, void *userData );

    virtual void initializeDelayBuffer(void);

    virtual void destroyDelayBuffer(void);
};

I want to use this as a base class and actually do nothing with it myself. Therefore, I have two separate classes that are derived from this Chorus class. I wanted to do this in order to simply provide some basic restrictions as to which any Chorus class received MUST be considered in my program.

(Visual Studio 2008), Chorus. , , . , , , , - , , , ?

+3
6

, , , = 0.

virtual void destroyDelayBuffer(void) = 0;

"", . ++ , .

+15

.

virtual void initializeDelayBuffer (void) = 0;

, .

+3

. "= 0" . :

virtual void destroyDelayBuffer(void) = 0;
+2

:

  virtual int callback( void *outputBuffer, void *notUsed, unsigned int 
       nBufferFrames, double streamTime, RtAudioStreamStatus status, void *userData ) = 0;
+1

To add to the answers above, you cannot create an instance of an object of a class containing pure virtual functions, so in the future, if you intend to have objects of your base class, do not forget to make the function unclean virtual.

+1
source

Source: https://habr.com/ru/post/1705995/


All Articles