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

Ромбовидное наследование. Конструктор внука. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите пожалуйста как привязать ListBox и WebBrowser в С++ http://www.cyberforum.ru/cpp-beginners/thread546944.html
Подскажите пожалуйста как привязать ListBox и WebBrowser в С++, т.е. должны отображаться HTML страницы на WebBrowser при нажатии на пункты из ListBox.
C++ Система линейных уравнений методом Ньютона Система линейных уравнений методом Ньютона x4-3x-20=0 (x>0) http://www.cyberforum.ru/cpp-beginners/thread546933.html
C++ Коментарии к Коду
заранее спасибо #include<conio.h> #include<iostream.h> #include<stdio.h> #include<stdlib.h> main() {int A,i,j,k=0,n,max,max1,S=0; randomize(); do {cout<<"n=";cin>>n;} while(n>33||n<1);
C++ Замена 1 символа на несколько
Доброго времени суток. Помогите доделать задачу. Задача: Преобразовать строку, содержащую выражение на Си с операциями (=,==,!=,a+=,a-=, где a – обозначает идентификатор), в строку, содержащую эти же операции с синтаксисом языка Паскаль (:=,=,#,a=a+,a=a-, где a – обозначает идентификатор). Представленный код работает корректно для =,==,!= но с а+=,а-= действует только на 1 операцию в строке...
C++ Вычислить сумму и число элементов, значения которых находятся между половиной значения максимума и нулём http://www.cyberforum.ru/cpp-beginners/thread546894.html
1. Вычислить сумму и кол-во элементов значения которые нахалдяться между половиной значения максимума и нулём 2. Создать одномерный массив, из 10-тков значений элементов каждой области (пришлите код , контрольная идёт)
C++ Стеки, очереди Здравствуйте. Прошу помочь с решением следующей задачи: Используя очередь, решить задачу. TYPE имя = (Анна,..., Яков); дети = АRRAY OF BOOLEAN; потомки = FILE OF имя; Считая заданным имя И и массив Д типа дети (Д = TRUE, если человек по имени Y является ребенком человека по имени X), записать в файл П типа потомки имена всех потомков человека с именем И в следующем порядке: сначала - имена... подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
15.04.2012, 09:37     Ромбовидное наследование. Конструктор внука.
Цитата Сообщение от taras atavin Посмотреть сообщение
Но стоит ли учитывать все отношения в модели?
Разумеется, в модели стоит учитывать только те отношения, которые важны для решения поставленной задачи.

Цитата Сообщение от taras atavin Посмотреть сообщение
Студент чаще всего не преподаёт, то есть не является преподавателем, а преподаватель чаще всего не является студентом. Опять наследование исключено.
Это совершенно справедливо. В данном случае гораздо корректнее выделить "обучаемого" и "обучающего" в отдельные классы-примеси, и наследовать всю троицу от "персоны", добавляя нужный набор свойств:
C++
1
2
3
4
5
6
7
class Person {public: explicit Person(const std::string& name);};
class Educable {public: void BeLearned();};
class Educator {public: void Educate(Educable& student);};
 
class Student: public Person, public Educable {/*...*/};
class Teacher: public Person, public Educator {/*...*/};
class Postgraduate: public Person, public Educable, public Educator {};
Так это выглядит в простейшем виде. В более реальных задачах мы скорее всего реализуем динамически изменяющийся набор обязанностей у персоны: студент может со временем стать аспирантом, а аспирант - преподавателем.
 
Текущее время: 13:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru