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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлом(вывод: что больше гласных или согласных) http://www.cyberforum.ru/cpp-beginners/thread725121.html
/*Написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Вывести на экран слова, а) в которых гласных букв больше чем согласных, б) в которых согласных букв больше, чем гласных.*/Задание #include <iostream> #include <string.h> #include <conio.h> #include <stdio.h> #include <Windows.h> using namespace std;
C++ Переход на новую строку при записи в файл Привет всем, я пишу такую программу.. С клавиатуры вводятся две матрицы, на выбор пользователя она записывается в файл либо в виде строки, либо в квадратном виде (т.е. как стандартная матрица) и дальше с ними разные действия происходят. со всем разобралась кроме перехода на новую строку. Перерыла весь интернет, не могу понять. Нужно какую-то функцию подключать или можно в putc (a, file);... http://www.cyberforum.ru/cpp-beginners/thread725103.html
Пусть даны координаты трех точек на плоскости. Если они могут быть вершинами остроконечного треугольника, вычислите его площадь C++
Пусть даны координаты трех точек на плоскости. Если они могут быть вершинами остроконечного треугольника, вычислите его площадь.
C++ Допиши код (условие внутри)
Студенты должны быть растравлены по убыванию номера студенческого билета /*************************************************************** * * * Файл : students.cpp * * * * Описание : пример программы для обработки структурных...
C++ Одномерный массив (номер максимального элемента, сумму элементов...) http://www.cyberforum.ru/cpp-beginners/thread725080.html
Помогите, пожалуйста, сделать задачу в приложении под виндоус. В одномерном массиве, состоящем из n целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами. Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй...
C++ Составить программу вычисления интеграла методом прямоугольников Функция y=sin(x) задана в интервале от 0 до П/2. Численным методом (прямоугольников) найти интеграл этой функции. подробнее

Показать сообщение отдельно
Anastasia777
1 / 1 / 0
Регистрация: 23.09.2012
Сообщений: 59

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

09.12.2012, 18:50. Просмотров 841. Ответов 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 и добавить к нему информацию -количество рабочих дней , но при этом оставить функции двух предыдущих классов . Как это сделать ? Подскажите , пожалуйста)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru