Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Anastasia777
1 / 1 / 0
Регистрация: 23.09.2012
Сообщений: 59
#1

Наследование (создать класс, который наследует базовый класс и производный класс от базового) - C++

09.12.2012, 18:50. Просмотров 884. Ответов 0
Метки нет (Все метки)

Вот код:
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
class Worker//базовый класс-Работник 
{  public: 
   Worker(char *, char *,char *, float); //конструктор
   void Show_Worker(void);               //прототип функции вывода на экран 
private: 
   char name [50];// имя
   char sername[50];// фамилия
   char family_status[64]; //семейное положение 
   float financ; //финансы
};
 Worker:: Worker(char *name, char *sername,char *family_status,float financ)//конструктор
{ strcpy(Worker::name, name); 
  strcpy(Worker::sername,sername); 
  strcpy(Worker::family_status,family_status); 
  Worker::financ=financ; 
}
void Worker::Show_Worker(void)//функция выввода на экран
{ cout<<"\n Имя :"<< name <<endl;
  cout<<"\n Фамилия :"<<sername<<endl;
  cout <<"\n Семейный статус :"<<family_status<<endl; 
  cout << "\n Деньги :" <<financ<< endl; 
}
class Programmer: public  Worker//производный класс-Программист 
{ public: 
   Programmer(char *, char *, char *, char *,char *, float, int);//конструктор
   void Show_Programmer(void); //прототип функции вывода на экран
  private: 
   char company[50];//имя компании 
   char lang[50];//язык, на котором программирует 
   int oput_in_years;//опыт работы 
 };
 
Programmer::Programmer(char *name, char *sername,char *family_status, char *company,char *lang, float financ, int oput_in_years): Worker(name,sername,family_status,financ)//конструктор
{strcpy(Programmer::company,company) ; 
 strcpy(Programmer::lang,lang) ; 
 Programmer::oput_in_years=oput_in_years;
}
void Programmer::Show_Programmer(void)//функция вывода на экран 
{Show_Worker(); //используется функция вывода на экран, определина в базовом классе
 cout << "Фирма :" << company<< endl; 
 cout << "Язык программирования :" <<lang<< endl; 
 cout <<"Опыт работы  :" <<oput_in_years<< endl; 
}
int main()
{setlocale(0,"rus");//подключаем русскую библиотеку
 Worker man("Вася ", "Петренко", "Женат" ,3500); //объект базового класса 
 Programmer woman("Анна", "Анникова","Замужем", "К_компания", "С++", 10000, 5); //объект проиводного класса 
 int komanda;//переменная для хранения вводимой пользователем команды 
 cout<<"\n Перед вами представлены несколько вариантов меню.Каждый вариант содержит некую \n  информацию о сотрудникак фирмы 'Progarammer Club'.Выберите интересующий вас пункт." <<endl;
 cout<<"\n 1.Простой работник"<<endl;
 cout<<"\n 2.Работник-программист"<<endl;
 cout<<"\n Для выхода нажмите '0' "<<endl;
 for(int i=0;i<10;i++)
{       cout<<"\n Введите команду :";
        cin>>komanda;
        if(komanda ==0)break;
        switch(komanda)
      { case 1:
        man.Show_Worker();
        break;
        case 2:
        woman.Show_Programmer();
        break;
        default:
        cout<<"\n Вы выбрали некоректную команду"<<endl;
      }
}
 getch();
 return 0;
}
В принципе я понимаю немного , как происходит наследование , но вот возник вопрос , как создать класс , который наследует базовый класс и производный класс от базового ? Как с ним работать?
Вот мне нужно например создать класс Help_Programmer и добавить к нему информацию -количество рабочих дней , но при этом оставить функции двух предыдущих классов . Как это сделать ? Подскажите , пожалуйста)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 18:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование (создать класс, который наследует базовый класс и производный класс от базового) (C++):

Наследование: базовый класс Квадрат, производный класс Пирамида - C++
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ, член класса- длинна стороны. Предусмотреть в классе методы...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки - C++
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы - C++
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для работы денежной суммы

Создать базовый класс Triad и производный класс vector3D - C++
Помогите пожалуйста с заданием. Часть кода(vector3D) сделал, вроде работает Нужно помочь с классом Triad. Вот полное задание: ...

Создать базовый класс Тройка_чисел (Triad) и производный класс Time с полями часы, минуты и секунды - C++
Наследование. Виртуальныефункции.Полиморфизм. 1. Цельзадания: 1) Создание консольного приложения, состоящего и - Базовый класс:...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 18:50
Привет! Вот еще темы с ответами:

Есть производный класс и базовый; при чём производный использует только ЧАСТЬ ресурсов базового, правильно ли это? - C++
Ну то есть базовый класс A, с полями, допустим, a, b, c, d. И я проектирую производный класс B и я железно знаю, что он будет использовать...

Указатели в базовом классе на базовый класс и производный класс - C++
Пишу контейнер &quot;Бинарное дерево поиска&quot; для частотного словаря. С самим контейнером особо вопросов нету. Вопрос по поводу элементов в...

Базовый класс Liquid и производный класс Alcohol - C++
Создать класс Liquid, имеющий поля названия и плотности. Определить методы переназначения и плотности. Создать производный класс Alcohol,...

Базовый класс Complex и производный класс Vector - C++
Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в алгебраической форме и основных операций с ними:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.