Форум программистов, компьютерный форум CyberForum.ru

Инициализация конструктора базового класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны длины треугольника ABC. Определить его медианы http://www.cyberforum.ru/cpp-beginners/thread1133611.html
Даны длины сторон А,В,С треугольника. Определите его медианы. Длинна медианы проведенной на сторону А вычесляется по формуле l=0,5√(2В^2+2С^2-А^2 ). Оформить в виде функций. Где то находил похожий исходник, но сейчас его потерял, и как назло ссылку не сохранил. помогите пожалуйста.
C++ Многомерные таблицы принятия решений Мне нужно написать демонстрационную программку по многомерным таблицам принятия решений. А в голову ни чего не приходит . Можете что посоветовать. http://www.cyberforum.ru/cpp-beginners/thread1133603.html
C++ Как это вернуть?
Есть класс class TUID { private: unsigned char Data; public : TEntityKind Kind; TUID (); TUID (TEntityKind Kind); TUID (const TUID &Original); ~TUID ();
Borland: наличие библиотек grpah.h C++
в borland есть билиотека grpah.h?
C++ Функция работы с временем http://www.cyberforum.ru/cpp-beginners/thread1133595.html
Время нетвердый (часы, минута, секунда) в своих обещаниях на разе структуры характеризовать. Функцию создавать и тестировать: a) присвоил t1 параметр времени d параметру секунды, когда во время t посмотрел, КЕЛЕСІ_СЕК (t, t1, d ) большой (переход суток возможно) считает время d, которое прошел из времени б) оса-расстояние (t1, t2, d) t1 t2 времени. программа на языке С++ Что-то это не похоже...
C++ Работа с файлами. Вывести список группы по убыванию года рождения студента Даны сведения о студентах группы:ФИО студента, дата рождения студента, место рождения студента. Вывести список группы по убыванию года рождения студента. программа на языке С++ подробнее

Показать сообщение отдельно
Игорюня
 Аватар для Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
30.03.2014, 11:09     Инициализация конструктора базового класса
C++
1
2
3
4
5
6
7
class animal
{
public:
    animal(int a):ianimal(a){}
protected:
         int ianimal;
};
C++
1
2
3
4
5
6
7
class bird:public animal
{
public:
    bird(int a,int b):animal(a),ibird(b){}
protected:
    int ibird;
};
C++
1
2
3
4
5
6
7
class horse:public animal
{
public:
    horse(int a,int b):animal(a),ihorse(b){}
protected:
    int ihorse;
};
C++
1
2
3
4
5
6
7
class pegasus:public bird,public horse
{
public:
    pegasus(int a,int b,int c,int d,int e):horse(a,b),bird(c,d),ipegasus(e){}
private:
    int ipegasus;
};
Если мы создадим объект класса pegasus,то конструктор pegasus инициализирует конструкторы классов bird и horse,каждый из которых инициализирует конструктор класса animal.Вопрос,каким значением инициализируется конструктор animal,если в него одновременно передают значение два конструктора bird и animal.Судя по логам,конструктор animal примет значение конструктора,который вызовется последним,то есть конструктором bird.Возможно,что такой код верен,но мне кажется,что возможна путаница с аргументами.

Добавлено через 27 минут
Решил проблему виртуальным наследованием.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru