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

Абстрактный класс.производные функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Агрегатный тип struct http://www.cyberforum.ru/cpp-beginners/thread874473.html
Описать структуру с именем STUDENT, содержащую следующие поля: •фамилия; •номер группы; •успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: •ввод...
C++ Как записать сумму элементов матрицы, с разницей индексов? Как записать сумму элементов матрицы, если задана разница индексов i-j=k ? for (int i= k;i<n; i++) for (int j= k; j-k<m;j++) sum += A; cout <<" SUMMA = "<< sum <<... http://www.cyberforum.ru/cpp-beginners/thread874465.html
Главная функция просит ввести пять чисел, а вспомогательная выводит только те, что кратны трем. C++
Помогите с С++. Задача на функции, никак не могу разобраться с задаванием функций Главная функция просит ввести пять чисел, а вспомогательная задача выводит только те, что кратны трем. ...
Структуры. Файлы. Побитовая обработка данных C++
прошу помощи. нужно как никогда. Вывести на экран битовое представление указанного числа и уметь объяснить его. Выполнить задание двумя способами: через объединение (вещественного типа и...
C++ Аппроксимация по методу наименьших квадратов http://www.cyberforum.ru/cpp-beginners/thread874419.html
Ищу человека, который сможет написать программу на тему Аппроксимации по методу наименьших квадратов. Заинтересовавшихся писать в ЛС. Там обсудим все детали и цену.
C++ Билиотечный файл констант Задание: Создать собственный библиотечный файл констант, типов и функций для реализации указанных заданий и программу, которая использует его возможности. задание:для работы с числами в денежном... подробнее

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

Абстрактный класс.производные функции - C++

22.05.2013, 15:43. Просмотров 488. Ответов 3
Метки (Все метки)

Вот условие задачи
Кликните здесь для просмотра всего текста
Создать абстрактный класс транспортное средство Trans с методами позволяющим вывести на экран информацию о транспортном средстве, а также определить грузоподъемность транспортного средства.

Создать производные классы: Легковая_машина (марка, номер, скорость, грузоподъемность), Мотоцикл (марка, номер, скорость, грузоподъемность, наличие коляски, при этом если коляска отсутствует, то грузоподъемность равна 0), Грузовик (марка, номер, скорость, грузоподъемность, наличие прицепа, при этом если есть прицеп, то грузоподъемность увеличивается в два раза) со своими методами вывода информации на экран, и определения грузоподъемности.

Создать базу (массив) из n транспортных средств, вывести полную информацию из базы на экран, а также организовать поиск транспортных средств, удовлетворяющих требованиям грузоподъемности.


А вот список ошибок:
Кликните здесь для просмотра всего текста

[bcc32 Error] File3.cpp(31): E2238 Multiple declaration for '~Trans::Trans()'
Full parser context
File3.cpp(14): class Trans
[bcc32 Error] File3.cpp(30): E2344 Earlier declaration of '~Trans::Trans()'
Full parser context
File3.cpp(14): class Trans
[bcc32 Warning] File3.cpp(29): W8070 Function should return a value
Full parser context
File3.cpp(14): class Trans
File3.cpp(32): decision to instantiate: int Trans:rint()
--- Resetting parser context for instantiation...
File3.cpp(28): parsing: int Trans:rint()
[bcc32 Warning] File3.cpp(49): W8022 'Car::wgt()' hides virtual function 'Trans::wgt() const'
Full parser context
File3.cpp(34): class Car
[bcc32 Warning] File3.cpp(49): W8022 'Car:rint() const' hides virtual function 'Trans:rint()'
Full parser context
File3.cpp(34): class Car
[bcc32 Error] File3.cpp(38): E2188 Expression syntax
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: Car::Car(char *,char *,float,float)
--- Resetting parser context for instantiation...
File3.cpp(38): parsing: Car::Car(char *,char *,float,float)
[bcc32 Error] File3.cpp(43): E2275 { expected
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: Car::Car(char *,char *,float,float)
--- Resetting parser context for instantiation...
File3.cpp(38): parsing: Car::Car(char *,char *,float,float)
[bcc32 Error] File3.cpp(70): E2188 Expression syntax
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: Car::Car(char *,char *,float,float)
--- Resetting parser context for instantiation...
File3.cpp(38): parsing: Car::Car(char *,char *,float,float)
[bcc32 Error] File3.cpp(86): E2310 Only member functions may be 'const' or 'volatile'
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: Car::Car(char *,char *,float,float)
--- Resetting parser context for instantiation...
File3.cpp(38): parsing: Car::Car(char *,char *,float,float)
[bcc32 Error] File3.cpp(86): E2141 Declaration syntax error
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: Car::Car(char *,char *,float,float)
--- Resetting parser context for instantiation...
File3.cpp(38): parsing: Car::Car(char *,char *,float,float)
[bcc32 Error] File3.cpp(91): E2139 Declaration missing ;
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: Car::Car(char *,char *,float,float)
--- Resetting parser context for instantiation...
File3.cpp(38): parsing: Car::Car(char *,char *,float,float)
[bcc32 Warning] File3.cpp(43): W8070 Function should return a value
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: int Car:rintTransName() const
--- Resetting parser context for instantiation...
File3.cpp(41): parsing: int Car:rintTransName() const
[bcc32 Warning] File3.cpp(47): W8070 Function should return a value
Full parser context
File3.cpp(34): class Car
File3.cpp(49): decision to instantiate: int Car:rint() const
--- Resetting parser context for instantiation...
File3.cpp(44): parsing: int Car:rint() const
[bcc32 Warning] File3.cpp(51): W8098 Multi-character character constant
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(51): E2129 Character constant too long (or empty)
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(51): E2034 Cannot convert 'unsigned int' to 'const char *'
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(51): E2342 Type mismatch in parameter '__command' (wanted 'const char *', got 'unsigned int')
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(56): E2303 Type name expected
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(56): E2034 Cannot convert 'int *' to 'Trans *'
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(56): E2257 , expected
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(58): E2141 Declaration syntax error
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(58): E2139 Declaration missing ;
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Warning] File3.cpp(58): W8004 'a' is assigned a value that is never used
Full parser context
File3.cpp(50): parsing: int main()
[bcc32 Error] File3.cpp(58): E2190 Unexpected }
[bcc32 Error] File3.cpp(60): E2040 Declaration terminated incorrectly
[bcc32 Error] File3.cpp(60): E2141 Declaration syntax error
[bcc32 Error] File3.cpp(60): E2238 Multiple declaration for 'i'
[bcc32 Error] File3.cpp(60): E2344 Earlier declaration of 'i'
[bcc32 Error] File3.cpp(64): E2190 Unexpected }
Failed
Elapsed time: 00:00:00.1

Большое спасибо за помощь
C++ (Qt)
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
#include <math.h>
#include <iostream.h>
 
 
class Trans {
    float v;
    char  *m,*n;
 
    public:
        Trans(char *mm,char *nn, float vv){
            m=new char[strlen(mm)+1];
            strcpy(m,mm);
            n=new char[strlen(nn)+1];
            strcpy(n,nn);
            v=vv;
        }
        virtual float wgt() const { return 0; } // грузоподъемность
        virtual int printTransName() const = 0;
        virtual int print(){
        cout <<"марка" << m << " ,номер" << n << " ,скорость" << v << " "; }
        ~Trans(){delete[]m;};
        ~Trans(){delete[]n;};
};
 
class Car: public Trans{
    float w;
    public:
    float wgt() { return 0; }
        Car(char *mm,char *nn, float vv,float ww):Trans(char *mm,char *nn, float vv)  {
          w=ww;
        }
    int printTransName() const {
            cout << "легковая машина: ";
        }
    int print() const {
            Trans::print();
            cout <<"грузоподъемность="<< w << " "<<endl;
        };
 
};
 
 
class motocycle: public Trans{
    float w;
    public:
        motocycle(char *mm,char *nn, float vv,float ww):Trans(char *mm,char *nn, float vv)  {
          w=ww;
        }
        int wgt(){
        cout<<"Есть коляска для мотоцикла? да-y,нет-n"<<endl;
        char temp;
        cin >> temp;
        if (temp=='y') {
             ww+=100;
            }
        else (temp=='n'){};
        }
        int printTransName() const {
                cout << "Мотоцикл: ";
            };
        int print() const {
                Trans::print();
                cout <<"грузоподъемность="<< w << "кг "<<endl;
            }
 
};
 
class Gruzovik: public Trans{
    float w;
    public:
        Gruzovik(char *mm,char *nn, float vv,float ww):Trans(char *mm,char *nn, float vv)  {
          w=ww;
        }
        int wgt(){
        cout<<"Грузовик с прицепом? да-y,нет-n"<<endl;
        char temp;
        cin >> temp;
        if (temp=='y') {
             ww*=2
            }
        else (temp=='n'){};
        }
        int printTransName() const {
                cout << "Грузовик: ";
            };
        int print() const {
                Trans::print();
                cout <<"грузоподъемность="<< w << "кг "<<endl;
            }
 
};
int main(){
    system('chcp 1251');
 
    int a,b,c;
         Trans *a[3]={
         new Car("BMW","а111мр",210,40),
         new motocycle("BMW","123d",300,13),
         new Gruzovik("MAN","е777кх",150,3000) 
                     };
         int v;
        for(int i=0;i<3;i++){
             a[i]->print();   }
             
 
 
        getchar();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru