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

Создать иерархии наследования: самолет, корабль-водный самолет или исправить ошибки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Возвращение в начало программы из функции http://www.cyberforum.ru/cpp-beginners/thread1098415.html
Здравствуйте, сегодня во время напписания программы возникла такая необходимость: нужно из функции vichis_oper вернуться в начало функции main(т.е. нужно в случае выполнения 60-й строки вернуться и начать выполнение с 33 строку, для исправления ошибки ввода(ошибка вводится специально для проверки, задача программы вычислить значение выражения при заданных значениях переменных и указанных...
C++ Создание игр в текстовом режиме Привет всем! Тут занялся написанием игрушек в текстовом режиме, типа змейки, тетриса и т.п. Суть в том, что я хочу как можно более правильно написать код, со стороны рефакторинга, со стороны выделения и освобождения памяти, и многих других аспектов. Думаю эта тема поможет многим новичкам, в написание чего-либо подобного, поэтому буду потихоньку выкладывать свои исходники и ждать ваших... http://www.cyberforum.ru/cpp-beginners/thread1098408.html
Подскажите библиотеку GUI, реализующую графический интерфейс C++
Доброй ночи. Подскажите, пожалуйста, лёгкую и простую библиотеку реализующую графический интерфейс. Сам интерфейс примитивен - пара кнопок и диалоговых окон. Это всё, что мне нужно от библиотеки. ОС - Windows, компилятор - VC++. Спасибо.
C++ Выведение на экран фигуры, которая изображает множество точек, которые удовлетворяют неравенству
Исправьте, пожалуйста, ошибки. Задача. Выведение на экран фигуры, которая изображает множество точек, которые удовлетворяют неравенство: x^2+y^2<=2(abs(x)+abs(y)) #include <math.h> #include <bios.h> int x0, y0; void main() int x, y; int gdriver - DETECT, gmode, errorcode; initgraph (&gdriver, &gmode, "g:\\bc31\\bg1");
C++ Как разрешить ввод только чисел типа int? http://www.cyberforum.ru/cpp-beginners/thread1098404.html
Доброго времени суток. Подскажите, пожалуйста, как разрешить ввод только чисел типа int. Преподаватель очень любит заваливать на этом, введя например букву, там где нужно число. Очень важно, чтобы код был негромоздким. #include <iostream> #include <cstdio> #include <conio.h> using namespace std; int roman (int,int,char); int main()
C++ Некорректно работает вывод вещественных чисел в массиве #include "stdafx.h" #include <conio.h> #include <stdio.h> void ReadArray(double a) подробнее

Показать сообщение отдельно
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 66
17.02.2014, 02:13  [ТС]     Создать иерархии наследования: самолет, корабль-водный самолет или исправить ошибки
Поможете разобраться? По условию а я сделал так:
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
#include <iostream>
#include <Windows.h>
using namespace std;
 
class air
{
    char comp[30];
    char mod[30];
    char col[30];
public:
    air(void){}
    air(char _comp, char _mod, char _col)
    {
        *comp = _comp;
        *mod = _mod;
        *col = _col;
    }
    ~air(){}
 
    void set_air()
    {
        cin.sync();
        cout << "Ââåäèòå êîìïГ*Г*ГЁГѕ-ïðîèçâîäèòåëü: ";
        gets(comp);
        cout << "Ââåäèòå ìîäåëü: ";
        gets(mod);
        cout << "Ââåäèòå öâåò:  ";
        gets(col);
    }
    void get_air()
    {
        cout << "\tÊîìïГ*Г*ГЁГї-ïðîèçâîäèòåëü:\t";
        puts(comp);
        cout << "\tÌîäåëü:\t\t\t";
        puts(mod);
        cout << "\tГ–ГўГҐГІ:\t\t\t";
        puts(col);
    }
};
 
class ship
{
    char pas[30];
    char price[30];
    char stuard[30];
public:
    ship(void){}
    ship(char _pas, char _price, char _stuard)
    {
        *pas = _pas;
        *price = _price;
        *stuard = _stuard;
    }
    ~ship(){}
    void set_ship()
    {
        cin.sync();
        cout << "Ââåäèòå ГЇГ*Г±Г±Г*æèðîâìåñòèìîñòü: ";
        gets(pas);
        cout << "Ââåäèòå ñòîèìîñòü áèëåòГ*: ";
        gets(price);
        cout << "Ââåäèòå êîë-ГўГ® ïåðñîГ*Г*Г«Г*: ";
        gets(stuard);
    }
    void get_ship()
    {
        cout << "\tГЏГ*Г±Г±Г*æèðîâìåñòèìîñòü:\t";
        puts(pas);
        cout << "\tÑòîèìîñòü áèëåòГ*:\t";
        puts(price);
        cout << "\tÊîë-ГўГ® ïåðñîГ*Г*Г«Г*:\t";
        puts(stuard);
    }
};
class vair: public air, public ship
{
public:
    vair(void){}
    vair(char _comp, char _mod, char _col, char _pas, char _price, char _stuard):air(_comp, _mod, _col), ship(_pas, _price, _stuard){}
    ~vair(){}    
};
 
int main()
{
    setlocale(0, "rus");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int size;
    cout << "Ââåäèòå êîëè÷åñòâî Г§Г*ГЇГЁГ±ГҐГ©: ";
    cin >> size;
    vair *mas = new vair[size];
    
    for (int i=0; i<size; ++i)
    {
        cout << "\nГ‡Г*ГЇГЁГ±Гј В№" << i+1 << endl;
        mas[i].set_air();
        mas[i].set_ship();
    }
 
    cout << "\nÂûâîä:" << endl;
    for (int i=0; i<size; ++i)
    {
        cout << "\nГ‡Г*ГЇГЁГ±Гј В№" << i+1 << endl;
        mas[i].get_air();
        mas[i].get_ship();
    }
    cin.sync();
    cin.get();
    delete [] mas;
    system("PAUSE");
    return 0;
}
И она у меня нормально работает, в условии б, нужно добавить ещё один класс, которые по иерархии будет находиться высше класса air и ship, я сделал по 1 агументу на эти 2 класса, чтобы показать иерархию, как можно исправить, чтобы соблюдалась иерархия и прога работала?
 
Текущее время: 09:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru