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

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

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

Основы ООП, ввод данных - C++

30.05.2012, 22:00. Просмотров 636. Ответов 1
Метки нет (Все метки)

Собственно, осваивая основы ООП и выполняя заодно частичное задание с универа(1 курс )
Наткнулся на проблему ввода данных в конструктор подкласса(teacher) , вот код
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
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
#include <string.h>
#include <conio.h>
 
class science
{ // Объявление класса "Наука"
public:
    science(char *,int,char *,char *,int,char *);
    // Конструктор
    ~science();
    // Деструктор
    void show_science(void);
private:
    char name[32];
    int hour;   
    char bias[32];
    char cathedra[32];
    int rgr;
    char report[32];
};
science::science(char *name, int hour, char *bias, char *cathedra, int rgr, char *report)
{
    strcpy(science::name, name);
    science::hour=hour;
    strcpy(science::bias, bias);
    strcpy(science::cathedra, cathedra);
    science::rgr=rgr;
    strcpy(science::report, report);
};
void science::show_science(void)
{
    cout <<"Name of discipline:  "<<name<<endl;
    cout <<"The number of hours allocated:  "<<hour<<endl;
    cout <<"The direction of discipline:  "<<bias<<endl;
    cout <<"Department of Disciplines:  "<<cathedra<<endl;
    cout <<"Number of RGR|RGZ|TPR on discipline:  "<<rgr<<endl;
    cout <<"Type of exam:  "<<report<<endl;
}
science::~science()
{
    cout<<"The destruction of the object to"<<name<<endl;
}
 
class teacher : public science 
    // Производный класс teacher от класса science, простое наследование
{
public:
    teacher(char *, char *, char *, char *,int,char *,char *,int,char *);
    void show_teacher(void);
private:
    char last_name[32];
    char main_name[32];
    char middle_name[32];
};
teacher::teacher(char *last_name, char *main_name, char *middle_name, char *name, int hour, char *bias, char *cathedra, int rgr, char *report) : science(name, hour, bias, cathedra, rgr, report)
    // Конструктор для производного класса teacher
{
    strcpy(teacher::last_name, last_name);
    strcpy(teacher::main_name, main_name);
    strcpy(teacher::middle_name, middle_name);
        
}
void teacher::show_teacher(void)
{
    show_science();
    cout <<"Last name of teacher:  "<<last_name<<endl;
    cout <<"Name of teacher:  "<<main_name<<endl;
    cout <<"Middle name of teacher:  "<<middle_name<<endl;
    cout <<""<<endl;
}
 
void main(void)
{   
    teacher sheremet("Sheremet", "Oksana", "Vladislavovna", "Mathematic", 288, "Technical", "IM", 2, "Ekzamen");
    teacher peisahovich("Peisahovich", "Uriy", "Grigorievich", "Physics", 288, "Technical", "OF", 2, "Ekzamen");
    teacher malyavko("Malyavko", "Aleksandr", "Antonovich", "Informatic", 144, "Technical", "VT", 1, "Ekzamen");
    teacher katruk("Katruk", "Uriy", "Mihailovich", "Special chapters of mathematics", 288, "Technical", "ZI", 2, "Ekzamen");
    sheremet.show_teacher();
    peisahovich.show_teacher();
    malyavko.show_teacher();
    katruk.show_teacher();
    getch();
}
[/OFF]
смысл в том чтобы фио препода вводил пользователь, а остальные данные о предметах были введены, и после уже работала функция вывода всей информации.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 22:00     Основы ООП, ввод данных
Посмотрите здесь:

Основы ООП - C++
Здраствуйте! Уже второй день пытаюсь разобраться и хорошего ответа так и не нашел. На форуме подобные вопросы видел, и википидею читал, но...

Знаю ли я основы ООП? - C++
ООП я изучал но не применял, ну если не считать собственный класс string и примитивную обертку WinAPI. Так что прошу дайте мне задачи по...

ООП Создание основы класса - C++
Здравствуйте, получил задание, но немного недопонимаю как это сделать, с чего начать. Помогите пожалст или объясните образно как сделать, а...

Ооп. Изучаю основы, обьясните на примере - C++
Класс: форум - сайт для общения. Объект форум - собственно любой форум. Тут все понятно. Форумный движок тоже класс, соответственно...

Основы ООП. Создание стека через класс - C++
Приветствую всех пользователей форума. Относительно недавно начал осваивать ООП. Было необходимо выполнить следующее задание : нужно...

Где могу прочитать про основы ООП? - C++
Где могу прочитать про основы ООП?

Ввод строки, без ООП - C++
void deletesymbol(string size) { printf(&quot;Программа считывает строку, после удаляет чётные слова. \n&quot;); string arStr; int N = 0; ...

Об инкапсуляции данных в ООП - C++
Добрый день, почти сделал лабу, но нужно устранить замечание. Идея такая, Должен быть класс поставщик, от него делается два подкласса,...

Типы данных в ООП - C++
Добрый день! Пишу на C++, начал изучать, ООП, сейчас учу перегрузку операторов. При этом обнаружил некоторое недопонимание типов...

Разделение данных и логики и ООП - C++
Тренируюсь в ООП и вообще в C++ и появилась неприятная ошибка. Есть конструктор в классе BaseHouse: BaseHouse(unsigned int height,...

Для чего было придумано сокрытие данных в ООП? - C++
Кто может понятно объяснить это? Т.е. для чего мы объявляем поля класса как private , почему обычно не объявляют их как public ? для чего...

Ввод данных - C++
Такой код &quot;ждёт&quot; пока не введем данные string fam=&quot;&quot;; cout&lt;&lt;&quot;Vvedite Familiy:\n&quot;; cin&gt;&gt;fam; Можно сделать условие, если ничего...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6282 / 5885 / 1905
Регистрация: 18.12.2011
Сообщений: 15,095
Завершенные тесты: 1
30.05.2012, 22:11     Основы ООП, ввод данных #2
C++
1
2
3
4
char fam[100];
cout<<"familiya:";
cin>>fam;
teacher sheremet(fam, "Oksana", "Vladislavovna", "Mathematic", 288, "Technical", "IM", 2, "Ekzamen");
Yandex
Объявления
30.05.2012, 22:11     Основы ООП, ввод данных
Ответ Создать тему
Опции темы

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