С++ для начинающих



         

Область видимости класса при множественном наследовании - часть 4


(b)   Присвойте вещественную часть члена cval класса MI члену fval класса Base2.

(c)    Присвойте значение члена cval класса Base1 первому символу члена sval класса Derived.

Упражнение 18.12

Дана следующая иерархия классов, в которых имеются функции-члены print():

class Base {

public:

   void print( string ) const;

   // ...

};

class Derived1 : public Base {

public:

   void print( int ) const;

   // ...

};

class Derived2 : public Base {

public:

   void print( double ) const;

   // ...

};

class MI : public Derived1, public Derived2 {

public:

   void print( complex<double> ) const;

   // ...

};

(a)    Почему приведенный фрагмент дает ошибку компиляции?

MI mi;

string dancer( "Nejinsky" );

mi.print( dancer );

(b)   Как изменить определение MI, чтобы этот фрагмент компилировался и выполнялся правильно?




Содержание  Назад  Вперед