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

Виртуальный класс и перегрузка оператора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Много ошибок и не знаю , как исправить http://www.cyberforum.ru/cpp-beginners/thread594211.html
Вот они < для вложений используйте встроенные возможности форума /> , а вот сам код программы. Объясните в чём проблема и , как её исправить :( .#include <cmath> #include <iostream> using namespace std; struct Point { double x; double y;
C++ Сложение длинных чисел в ассемблерной вставке У меня есть класс: class Big_int { UINT64* num; //массив разрядов числа size_t s, cap; //число элементов, максимальное число элементов //.... Функция сложения (написана не до конца): http://www.cyberforum.ru/cpp-beginners/thread594205.html
По разбиению программы на файлы C++
Хочу написать программу, так что бы отдельные функции был и записаны в различные файлы, как это реализовать? и что делать с глобальными переменными(собираюсь сделать динамический линейный список таким образом)?
Microsoft Visual studio C++
господа вот хотел спросить бесплатная не демо версия visual studio свободно оаспростроняется , быть может какого нибудь лохматого года там 2000 или ещё какая нибудь.
C++ C++ конвертирование из строки в дату http://www.cyberforum.ru/cpp-beginners/thread594135.html
Доброго времени суток форумчане, интересует вопрос, как преобразовать из строки во время. То есть как можно преобразовать "02.06.2012" в количество секунд с 1970 вроде. Просьба писать по теме...
C++ Дан символьный файл f. Добавить в его конец символы e,n,d (если это необходимо, использовать дополнительный файл g ). всем привет помогите плиз я в си не силен)) пришлите код программы вот задача: Дан символьный файл f. Добавить в его конец символы e,n,d (если это необходимо, использовать дополнительный файл g ). подробнее

Показать сообщение отдельно
Inconflict
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 7

Виртуальный класс и перегрузка оператора - C++

03.06.2012, 08:02. Просмотров 530. Ответов 3
Метки (Все метки)

Собственно немного разобравшись в ооп написал небольшой код, по заданию нужно как-то прикрутить к нему виртуальный класс и сделать перегрузку оператора, хелпаните)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <iostream>
#include <iomanip>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
#include <string.h>
#include <conio.h>
 
    char fam[32]; 
    char imya[32];
    char otch[32];
    // Глобальные переменные
class science
{ // Объявление класса "Наука"
public:
    science(char *,int,char *,char *,char *,int);
    // Конструктор
    science(char *,int,char *,char *,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,char *report,int rgr) // Конструктор класса science
{
    strcpy(science::name, name);
    science::hour=hour;
    strcpy(science::bias, bias);
    strcpy(science::cathedra, cathedra);
    strcpy(science::report, report);
    if(rgr<1) cout << "It is not enough work to pass the subject"<<endl;
    else science::rgr=rgr;
};
science::science(char *name, int hour, char *bias, char *cathedra,char *report) // Перегружаем конструктор класса science
{
    strcpy(science::name, name);
    science::hour=hour;
    strcpy(science::bias, bias);
    strcpy(science::cathedra, cathedra);
    strcpy(science::report, report);
    do
    {
        cout<<"Enter the number of RGR|RGZ|TPR"<<rgr;
        cin>>science::rgr;
    } while(rgr>=1);
};
void science::show_science(void) // Функция вывода класса science
{
    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() // Декструктор класса 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 *,char *,int);
    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, char *report, int rgr) : science(name, hour, bias, cathedra,report,rgr)
    // Конструктор для производного класса teacher
{
    strcpy(teacher::last_name, last_name);
    strcpy(teacher::main_name, main_name);
    strcpy(teacher::middle_name, middle_name);
        
}
void teacher::show_teacher(void) // Функция вывода подкласса teacher 
{
    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 userfromkeyboards(void) // Функция ввода пользователем фамилии, имени и отчества преподавателя дисциплины
{
    cout<<"Last_name: ";
    cin>>fam;
    cout<<"Main_name: ";
    cin>>imya;
    cout<<"Middle_name: ";
    cin>>otch;
}
void main(void)
{   
    cout<<setw(6)<<"Disciplines for the exam in the 2nd semester"<<endl;
    cout <<""<<endl;
 
    cout<<"Enter last name, main name, middle name of Mathematic Teacher"<<endl;
    userfromkeyboards();
    teacher mathematic(fam, imya, otch, "Mathematic", 288, "Technical", "IM", "Ekzamen", 1);
    
    cout<<"Enter last name, main name, middle name of Physics Teacher"<<endl;
    userfromkeyboards();
    teacher physics(fam, imya, otch,"Physics", 288, "Technical", "OF", "Ekzamen", 2);
 
    cout<<"Enter last name, main name, middle name of Informatic Teacher"<<endl;
    userfromkeyboards();
    teacher informatic(fam, imya, otch, "Informatic", 144, "Technical", "VT", "Ekzamen", 1);
    
    cout<<"Enter last name, main name, middle name of Special chapters of mathematics Teacher"<<endl;
    userfromkeyboards();
    teacher special_mathematics(fam, imya, otch, "Special chapters of mathematics", 288, "Technical", "ZI", "Ekzamen", 2);
    cout <<""<<endl;
    
    mathematic.show_teacher();
    physics.show_teacher();
    informatic.show_teacher();
    special_mathematics.show_teacher();
    getch();
}
Добавлено через 3 часа 48 минут
вроде с виртуальным классом разобрался, все легко( но с перегрузкой что-то вообще проблемы, помогите( в пн сдавать уже

Добавлено через 12 часов 14 минут
все еще актуально
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru