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

Наследование - C++

Восстановить пароль Регистрация
 
MasterYo
 Аватар для MasterYo
1 / 1 / 0
Регистрация: 07.07.2013
Сообщений: 39
10.07.2013, 14:28     Наследование #1
Здравствуйте уважаемые форумчане!!! Вот написал код с наследованием, я бы хотел его усовершенствовать но не знаю как. Вот что именно я бы хотел добавить в этот код: Я написал ID ученика в этом случае 286. Я не могу сделать так чтобы Teacher (учитель) накричал (Cry) на этот ID(то есть на ученика который находится под ID = 286) и потом Dekan (декан) выгнал (kickout) бы этот ID (ученика). Помогите, если вам не трудно. Заранее большое спасибо.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <conio.h>
using namespace std;
 
class Man
{
      protected: int age;
      public:
             void Move()
             {
                  cout<<"Man is moving";}
                  void Info()
                  {
                       cout<<"Hello, I'm a man.\n";}};
                       
                       class Student:public Man
                       {
                             protected: int course,ID;
                             public:
                                    void Info() {cout<<"\nHello, I'm a student.\n";}
                                    void Sleep() {cout<<"First sort of students - sleep.";}
                                    void Learn() {cout<<"Second sort of students - learn.";}
                                    void id(int a) {ID=a; cout<<" And my ID is --> "<<ID;}}; 
                                    
                                    class Teacher:public Man
                                    {
                                          public:
                                          void Info() {cout<<"\nHello, I'm a teacher.";}
                                          void Teach() {cout<<" Teacher are teaching.";}
                                          void Cry() 
                                          {cout<<" Sometimes teacher are crying.";}};
                                          
                                          class Magistr:public Student,public Teacher
                                          {
                                                public:
                                                void Info() {cout<<"\n\nHello, I'm a magistr.\n\n";}
                                                };
                                          class Dekan:public Teacher
                                          {
                                                public:
                                                void Info() {cout<<"Hello, I'm a dekan.\n";}
                                                void Kickout() {cout<<"Dekan kick your ass, if you don't shut up.\n";}};
                                                
                                                int main()
                                                {
                                                    Man Max;
                                                    Max.Info();
                                                    Student Ban;
                                                    Ban.Info();
                                                    Ban.Learn();
                                                    Ban.id(286);
                                                    Magistr Paul;
                                                    Paul.Info();
                                                    Dekan John;
                                                    John.Info();
                                                    John.Kickout();
                                                    Teacher Feal;
                                                    Feal.Info();
                                                    Feal.Teach();
                                                    Feal.Cry();
                                                    getch();}
Добавлено через 18 минут
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2013, 14:28     Наследование
Посмотрите здесь:

C++ Наследование
Наследование C++
C++ наследование
C++ Наследование?!
наследование C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zenw
154 / 110 / 3
Регистрация: 12.06.2013
Сообщений: 168
10.07.2013, 14:49     Наследование #2
Черт побери, что у вас с отступами?

Нужно изменить методы классов Teacher и Dekan, например, вот так:

C++
1
2
3
4
5
6
7
void Cry(const Student &student) {
    cout << "Teacher is crying at student with ID = " << student.ID;
}
 
void Kickout(const Student &student) {
    cout << "Dekan kicked out student with ID = " << student.ID;
}
и тогда в main можно будет вызывать их так:
C++
1
2
John.Kickout(Ban);
Feal.Cry(Ban);
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
10.07.2013, 16:18     Наследование #3
Цитата Сообщение от zenw Посмотреть сообщение
Черт побери, что у вас с отступами?
И снова украшательство текста. MasterYo, может Вам в дизайнеры лучше податься?
MasterYo
 Аватар для MasterYo
1 / 1 / 0
Регистрация: 07.07.2013
Сообщений: 39
10.07.2013, 16:39  [ТС]     Наследование #4
Tulosba, мне просто так удобно читать код

Добавлено через 4 минуты
А зачем тогда вообще включили разные графические примочки если не даете пользоваться?
Tulosba
10.07.2013, 16:58     Наследование
  #5

Не по теме:

Цитата Сообщение от MasterYo Посмотреть сообщение
А зачем тогда вообще включили разные графические примочки если не даете пользоваться?
Если хочется что-то выделить из общего набора, то скорее всего возражать никто не будет. Но вот злоупотреблять не стоит.

Yandex
Объявления
10.07.2013, 16:58     Наследование
Ответ Создать тему
Опции темы

Текущее время: 13:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru