Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
DigsiL
10 / 10 / 3
Регистрация: 14.01.2011
Сообщений: 113

Конструктор копирование - C++

21.06.2011, 13:59. Просмотров 936. Ответов 13
Метки (Все метки)

Получил задание от преподавателя написать программу «Поезд»

Условия такие программа предлагает ввести с клавиатуры:
-Количество поездов;
-Количество вагонов для каждого поезда;
На основе ведомых данных создается поезда и выводится общая информация о них.

Также система должна выдавать следующие отчеты:
1. Поезд в котором ехала наибольшее количество пассажиров.
2. Поезд в котором ехала наименьшее количество пассажиров.
3. Для каждого поезда выводится следующая информация:
а) Общее количество пассажиров.
в) Общее количество вагонов.
г) Номер вагона в котором ехала наименьшее количество пассажиров
д) Номер вагона в котором ехала наибольшее количество пассажиров

Ход решения задачи:
1. Необходимо создать класс «поезд»
который должен содержать следующие поля:
а) номер поезда;
б) название поезда (соединение например «Львов - Киев»);
в) (поле вагон) указатель на тип int, которому будет выделяться динамическая
память размером в число вагонов, где индекс данного массива указывает
на номер вагона, а значение ячейки массива на количество пассажиров в
вагоне;
г) количество вагонов.

который должен содержать следующие методы:
- Конструктор по умолчанию;
- Конструктор с параметрами;
- Конструктор копирования;
- Деструктор;
- Методы для установки значений в поля класса (set - методы);
- Методы для получения значений из полей класса (get - методы);
- Метод для вывода полей класса на консоль (информации о поезде).
- Метод для поиска максимального элемента поля (вагон);
- Метод для поиска минимального элемента поля (вагон);
- Метод для поиска суммы значений элементов поля (вагон);

Проблема в том что я не разберусь с конструктором копирования куда его впихнуть по моему он тут не нужен
моя программа
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
#include <iostream>
#include <windows.h>
#include<time.h>
using namespace std;
class CTrain
{
public:
    CTrain()
    {
        ID=NULL;
        train=NULL;
        car=NULL;
        passengers=NULL;
    }
    void Set (char *train1,int car1,int ID1)
    {
        srand(time(NULL));
        ID=ID1;
        train=new char [strlen(train1)+1];
        strcpy(train,train1);
        msize=car1;
        car=new int [car1];
        for (int i=0;i<car1;i++)
        {
            *(car+i)=rand()%50;
        }
    }
    void Show()
    {
        cout<<"Поезд №"<<ID<<endl;
        cout<<"Название поезда:"<<train<<endl;
        for (int i=0;i<msize;i++)
        {
            cout<<"Вогон №"<<i+1<<" Пасажиров:"<<car[i]<<endl;
        }
    }
private:
    int ID;
    int msize;
    char *train;
    int *car;
    int passengers;
};
void main ()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int key=NULL;
    int size=NULL;
    char train[20];
    int car=NULL;
    cout<<"Введите количество поездов:";
    cin>>size;
    CTrain *Train=new CTrain [size];
    for (int i=0;i<size;i++)
    {
        cout<<"Введите название поезда:";
        cin.ignore();
        cin.getline(train,20);
        cout<<"Введите количество вогонов:";
        cin>>car;
        Train[i].Set(train,car,i+1);
    }
    do
    {
        cout<<"1.Информация о поездах"<<endl;
        cin>>key;
        switch (key)
        {
        case 1:
            {
                for (int i=0;i<size;i++)
                {
                    Train[i].Show();
                }   
            }break;
        }
    }while(key!=0);
}
Прошу Вас помочь мне разобраться с конструктором копированием как его использовать и в моей задачи или покажите примеры с конструкторами копированием
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 13:59
Готовые ответы и решения для C++ Конструктор копирование:

Конструктор копирование у наследника
Основной класс class matrix { public: int N,M; // N - количество строк, M...

Конструктор-копирование шаблона класса
Объясните пожалуйста, что я делаю не так.

Зачем возвращать конструктор копирование?
Добрый день. Первый вопрос в заголовке темы. Второй - где это можно применить....

Будет ли работать должным образом конструктор копирование с указателем?
class A { A() {} A(const A *); } То что этот код скомпилируется...

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве...

Конструктор класса, конструктор копирования запускается не тот который нужен
Есть такой конструктор: Neuron::Neuron(int iType_activation_funk) {...

13
Конструктор копирование C++   Следующее сообщение темы 
Другие темы раздела
C++ как убрать нули с вещественого числа http://www.cyberforum.ru/cpp-beginners/thread323760.html
Помогите пожалуйста! Есть число double value == 12 650 320. 250 000 Как убрать 0 после дисятичной точки. Заранее благодарен.
C++ Какие книги посоветуете? Что посоветуете для изучения языка? Я пока только начинающий http://www.cyberforum.ru/cpp-beginners/thread323759.html
Игра Лото C++
Нужно написать программу в консоли в которой основой будет циклы и массивы (желательно что бы была проверка на совпадение между массивами и вы вод на экран чисел которые выдал барабан) + просьба не...
Дан текст, каждый символ которого может быть... C++
Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +,-,*. 1. Выяснить, встречается ли в данном текста группа букв,заданная пользователем. 2. Подсчитать число и...
C++ Библиотека Си++ http://www.cyberforum.ru/cpp-beginners/thread323734.html
Hi! Человек я не глупый, матан на пятерку сдан, по линалу автомат. Но вот с программированием... не задалось. К пятнице надо сделать библиотеку Си++. Прошу советы(ссылки и прочее, что может спасти...
C++ Совет начинающиему я только начинаю осваивать С++,работаю в devccp...вообщем хочу девушке придумать по-приколу диалоговую программу)не знаю с чего начать...там с вопросами как день прошел,пойдем гулять и тд,чтобы при... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru