Множественное наследование C++

Следует понимать, что:

  1. Если вы порождаете класс из нескольких базовых классов, то получаете преимущества множественного наследования.
  2. При множественном наследовании производный класс получает атрибуты двух или более классов.
  3. При использовании множественного наследования для порождения класса конструктор производного класса должен вызвать конструкторы всех базовых классов.
  4. При порождении класса из производного класса вы создаете иерархию наследования (иерархию классов).

например - пусть у нас имеется два класса:

// описывает экран
    class computer_screen
    {
    public:
       computer_screen(char *, long, int, int);
       void show_screen(void);
    private:
       char type[32] ;
       long colors;
       int x_resolution;
       int y_resolution;
    };

// материнская плата
    class mother_board
    {
    public:
       mother_board(int, int, int);
       void show_mother_board(void);
    private:
       int processor;
       int speed;
       int RAM;
    };

унаследует черты обоих этих классов определив класс "компьютер":

    class computer : public computer_screen, public mother_board
    {
    public:
       computer(char *, int, float, char *, long, int, int, int, int, int);
       void show_computer(void);
    private:
       char name[64];
       int hard_disk;
       float floppy;
    };
// далее реализация конструктора снаружи класса
// обязательно указываем базывые конструкторы
 computer::computer(char *name, int hard_disk, float floppy, char *screen, long colors, 
int x_res, int y_res, int processor, int speed, int RAM) : computer_screen(screen, colors, x_res, y_res), 
mother_board(processor, speed, ram)

{
   strcpy(computer::name, name);
   computer::hard_disk = hard_disk;
   computer::floppy = floppy;
} 

источники:
http://programmersclub.ru/27/