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

Ошибка преобразования класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано вещественное x. Вычислить z =f( x ) http://www.cyberforum.ru/cpp-beginners/thread1302705.html
Задачу надо переписывать на форум. Редактор формул внизу страницы!
C++ Чем дебажить x64? Среда code blocks, компилятор tdm64-gcc-4.8.1-3. не берёт уникодовые строки:. http://www.cyberforum.ru/cpp-beginners/thread1302697.html
Вывод больших чисел C++
Неправильно выводится номер телефона (номер телефона с 11 цифрами).Помогите исправить class.h #ifndef CLASS_H #define CLASS_H // класс "Структура МИИТа" class MIIT { public: void menu();
Заполнить массив с клавиатуры C++
Простое задание, но я немного не понимаю "Дан одномерный массив, состоящий из N целочисленных элементов. Введите массив с клавиатуры."
C++ Использование имени макроса в обычных условиях http://www.cyberforum.ru/cpp-beginners/thread1302672.html
Как использовать такие имена макросов(см. пример), только не в директиве define, а в обычных условиях кода?(имеется в виду в виде обычных операторов if(){..}else{..}) #if defined(_WIN64) typedef __int64 INT_PTR; #else typedef int INT_PTR; #endif #if (_MSC_VER >= 1300) #define POINTER_64 __ptr64 #else
C++ Функция проверки возраста по дате рождения из string Здравствуйте, есть строка вида: Имя День Месяц Год Valera 15 6 1987 Задача состоит в том чтобы написать функцию для проверка больше или равно человеку 20 лет. Если Да вернуть true, нет false. Алгоритм вроде как простой, но реализовать никак не получается, помогите пожалуйста... Вот код нужной функции: bool moreThen(string userRecord) подробнее

Показать сообщение отдельно
avers_
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 19
17.11.2014, 07:48     Ошибка преобразования класса
Добрый день!
Уважаемые, помогите пожалуйста найти ошибку.

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
136
137
138
139
140
141
142
143
144
145
146
147
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <locale>
using namespace std;
class sotr{
private:
    char Famil[30], Imya[30], Otche[30], Dolj[30], obraz[30], zp[30], d_naim[30],d_uvol[30];
    char transport[30];
    char mesto_rab[30], dr_dolj[30];
    char vtor_rab[30]; char* p;
    bool rabota;
     // Ф.И.О., пол, должность, образование, заработная плата, дата найма, дата увольнения.
public:
    sotr(){
        strcpy_s (Famil,"not specified");
        strcpy_s  (Imya,"not specified");
        strcpy_s (Otche,"not specified");
        strcpy_s  (Dolj,"not specified");
        strcpy_s (obraz,"not specified");
        strcpy_s    (zp,"not specified");
        strcpy_s(d_naim,"not specified");
        strcpy_s(d_uvol,"not specified");
    }
    sotr(char* Fa, char* Im, char* Ot,char* Do, char* Ob, char* Zp,char* D_n,char* D_u){
        strcpy_s  (Famil,Fa);
        strcpy_s   (Imya,Im);
        strcpy_s  (Otche,Ot);
        strcpy_s   (Dolj,Do);
        strcpy_s  (obraz,Ob);
        strcpy_s     (zp,Zp);
        strcpy_s(d_naim,D_n);
        strcpy_s(d_uvol,D_u);
    }
    void cl_rab(char* vtor, bool rab){
        strcpy_s(vtor_rab, vtor);
        rabota=rab;
    }
    virtual void in(){
        cout        <<"Введите Фамилию сотрудника: "<<vtor_rab<<":";             
        cin                                  >>Famil;                           
        cout            <<"Введите Имя сотрудника: "<<vtor_rab<<":";  ;             
        cin                                   >>Imya;                           
        cout       <<"Введите Отчество сотрудника: "<<vtor_rab<<":";  ;             
        cin                                  >>Otche;                           
        cout      <<"Введите должность сотрудника: "<<vtor_rab<<":";  ;             
        cin                                   >>Dolj;                             
        cout    <<"Введите образование сотрудника: "<<vtor_rab<<":";  ;
        cin                                  >>obraz;
        cout            <<"Введите З\П сотрудника: "<<vtor_rab<<":";  ;
        cin                                     >>zp;
        cout     <<"Введите дату найма сотрудника: "<<vtor_rab<<":";  ;
        cin                                 >>d_naim;
        cout<<"Введите дату увольнения сотрудника: "<<vtor_rab<<":";  ;
        cin                                 >>d_uvol;
    }
   virtual void in(char* Fa, char* Im, char* Ot,char* Do, char* Ob, char* Zp,char* D_n,char* D_u){
        strcpy_s  (Famil,Fa);
        strcpy_s   (Imya,Im);
        strcpy_s  (Otche,Ot);
        strcpy_s   (Dolj,Do);
        strcpy_s  (obraz,Ob);
        strcpy_s     (zp,Zp);
        strcpy_s(d_naim,D_n);
        strcpy_s(d_uvol,D_u);
    }
   virtual void out(){
        cout<<"Фамилия сотрудника: "         <<Famil<<"\n";                         
        cout<<"Имя сотрудника: "              <<Imya<<"\n";                         
        cout<<"Отчество сотрудника: "        <<Otche<<"\n";                         
        cout<<"Должность сотрудника: "        <<Dolj<<"\n";                           
        cout<<"Образование сотрудника: "     <<obraz<<"\n";
        cout<<"З\П сотрудника: "                <<zp<<"\n";
        cout<<"Дата найма сотрудника: "     <<d_naim<<"\n"; 
        cout<<"Дата увольнения сотрудника: "<<d_uvol<<"\n";   
    }
   virtual void Vtor_in(){
        if (rabota){ 
        cout<<"Введите место второй работы сотрудника: ";               
        cin>>mesto_rab;                         
        cout<<"Введите должность на второй работе сотрудника: ";                
        cin>>dr_dolj;
        return;
        }
               else {
               cout<<"Ведите транспорт:";
               cin>>transport;
               return ;
        }
    }
   virtual char* vtor(){
        return (vtor_rab);
    }
    char* summ()
    {   
    
    }
};
class voditel: public sotr
{
public:
    voditel(){
        cl_rab("Водитель", 0);
    }
    voditel(char* Fa, char* Im, char* Ot,char* Do, char* Ob, char* Zp,char* D_n,char* D_u){
       sotr::in(Fa, Im, Ot, Do, Ob, Zp, D_n, D_u);
    }
};
class sovmest: public sotr{
public:
    sovmest(){
        cl_rab("Совместитель", 1);
    }
    sovmest(char* Fa, char* Im, char* Ot,char* Do, char* Ob, char* Zp,char* D_n,char* D_u){
       sotr::in(Fa, Im, Ot, Do, Ob, Zp, D_n, D_u);
    }
};
int main(void)
{
setlocale (LC_ALL, "Russian");
    int choice;
    sotr *p1;
    voditel c1;
    p1=&c1;
    p1->in("Петров", "Петр", "Петрович", "Водитель", "Среднее", "20000","17.11.2014", "Работает по настоящее время");
    sovmest h1;
    p1-&h1;
    p1->in();
    cout<<"Сотрудник(0 - Совместитель, 1 - Водитель): ";
    cin>>choice;
    if (choice) p1=&c1;
            else p1=&h1;
    do {
        cout<<"Выбран "<<p1->vtor()<<"\n";
        p1->out();
        p1->Vtor_in();
    }
         while (choice);
}
/*1. Разработать программу, описывающую систему, приведенную в варианте, через наследование,
где один класс является родителем двух других классов. Определить несколько конструкторов
для каждого класса. Отслеживать корректность данных классов.
2. Изменить предыдущую программу, добавив в родительский класс виртуальные методы:
1) следующие из описания и функций системы,
2) методы позволяющие занести все необходимые данные в объект из стандартного ввода,
3) методы, предоставляющие полную информацию об объекте в стандартный вывод.
 */
Список ошибок
1>------ Построение начато: проект: laba4_v2, Конфигурация: Debug Win32 ------
1> laba1_v2.cpp
1>c:\users\администратор\documents\visual studio 2012\projects\laba4_v2\laba4_v2\laba1_v2.cpp(50): warning C4129: :
1>c:\users\администратор\documents\visual studio 2012\projects\laba4_v2\laba4_v2\laba1_v2.cpp(73): warning C4129: :
1>c:\users\администратор\documents\visual studio 2012\projects\laba4_v2\laba4_v2\laba1_v2.cpp(127): error C2440: -: невозможно преобразовать "sovmest *" в "sotr *"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru