Здравствуйте!
Допустим, есть класс Employee, от него наследуется класс Manager, от него Scientist. Верно ли я понял, что конструкторы каждого
производного класса должны содержать конструкторы базовых классов?
Т.е. в Manager - конструктор от Employee, а в Scientist - Manager, содержащий в себе  конструктор от Employee? 
Код:
#include <iostream>
////////////////////////////////////////
class Employee
{
protected:
   int empNum;
   char* empSurname;
public:
   Employee(): empNum(-1), empSurname(NULL) {};
   Employee(int num, char* adrS): empNum(num), empSurname(adrS) {};
   ~Employee() 
   {
      delete empSurname;
   }
   void displayS(int N);
} ;
void Employee::displayS(int N)
{
   if (N)
   {      
      std::cout << "\nСотрудник №" << empNum << ':'
             << "\nФамилия: " << empSurname;
   }
   else
      std::cout << "\nСписок пуст!";   
}
////////////////////////////////////////
class Manager : public Employee
{
private:
   char* empPosition;
public:
   Manager(): empPosition(NULL) {};
   Manager(int num, char* adrS, char* adrP): 
         Employee(num, adrS)
      { empPosition = adrP; }
   ~Manager()
   {
      delete empPosition;
   }
   void displayP();
} ;
void Manager::displayP()
{
   std::cout << "\nДолжность: " << empPosition;
}
////////////////////////////////////////
class Scientist : public Manager
{
private:
   int pubs;
public:
   Scientist(): pubs(-1) {};
   Scientist(int num, char* adrS, char* adrP, int p):
         Manager(num, adrS, adrP)
         { pubs = p; }
   void displayPubs();
} ;
void Scientist::displayPubs()
{
   if (pubs)
      std::cout << "\nКоличество публикаций: " << pubs;
   else
      std::cout << "\nПубликаций нет!";   
}