0 / 0 / 0
Регистрация: 17.09.2018
Сообщений: 32

Класс Владелец и класс Car включающий поле Владелец

23.09.2018, 13:08. Показов 939. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача такова
№1-Создать класс "Владелец" - обязательно не менее 2-х конструкторов, методы.
№2-В класс "Car" добавить в качестве поля созданный класс "Владелец". У автомобиля может быть только 1 владелец.
№3-Сделать интерфейс и вынести его в отдельный файл (т.е. в main должно быть 2 строчки).

Меня интересует как сделать №2

Car.h
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
#pragma once
#include <iostream>
#include <string>
 
using namespace std;
 
class Car
{
private:
    string vehicleType; // тип машины
    string manufacturer; // производитель
    string model; // модель 
    int doorNum; // номер
    double engineCapasity; // мощность двигателя
    string color; // цвет 
    //Person owner
 
public:
    Car(string manufacturer = "Undefined", string model="Undefined", string vehicleType="Undefined", string color="Undefined", int doorNum = 3, double engineCapasity = 0.0)
    {
        this->manufacturer = manufacturer;
        this->model = model;
        this->vehicleType = vehicleType;
        this->color = color;
        this->engineCapasity = engineCapasity;
        this->doorNum = doorNum;
    }
 
    Car(const Car &obj)
    {
        this->manufacturer = obj.manufacturer;
        this->model = obj.model;
        this->vehicleType = obj.vehicleType;
        this->color = obj.color;
        this->engineCapasity = obj.engineCapasity;
        this->doorNum = obj.doorNum;
    }
 
 
    void setVehicleType(string vehicleType){ this->vehicleType = vehicleType; }
    void setManufacturer(string manufacturer) { this->manufacturer = manufacturer; }
    void setModel(string model) { this->model = model; }
    void setDoorNum(int doorNum) { this->doorNum = doorNum; }
    void setEngineCapasity(double engineCapasity) { this->engineCapasity = engineCapasity; }
    void setColor(string color) { this->color = color; }
 
    string getVehicleType() { return this->vehicleType; }
    string getManufacturer() { return this->manufacturer; }
    string getModel() { return this->model; }
    string getColor() { return this->color; }
    int getDoorNum() { return this->doorNum; }
    double getEngineCapasity() { return this->engineCapasity; }
 
    void ShowInfo()
    {
        cout << "Model: " << this->manufacturer << " " << this->model << endl;
        cout << "Vehicle type: " << this->vehicleType << endl;
        cout << "Color: " << this->color << endl;
        cout << "Engine capasity: " << this->engineCapasity << endl;
        cout << "Door count: " << this->doorNum << endl;
    }
 
};
 
Owner.h 
#pragma once
#include <iostream> 
#include <string>  
 
using namespace std;
 
class Owner {
 
private:
 
    string name_owner;
    int Date_of_technical_osmorra;
    int Number_of_violations;
    int Driving_license_number;
 
public:
 
    Owner(string name_owner, int Date_of_technical_osmorra, int Number_of_violations, int Driving_license_number)
    {
        this->name_owner = name_owner;
        this->Date_of_technical_osmorra = Date_of_technical_osmorra;
        this->Number_of_violations = Number_of_violations;
        this->Driving_license_number = Driving_license_number;
    }
 
    Owner(const Owner & obj1)
    {
        this->name_owner = obj1.name_owner;
        this->Date_of_technical_osmorra = obj1.Date_of_technical_osmorra;
        this->Number_of_violations = obj1.Number_of_violations;
        this->Driving_license_number = obj1.Driving_license_number;
    }
 
    void setname_owner(string name_owner) { this->name_owner = name_owner; }
    void setDate_of_technical_osmorra(int Date_of_technical_osmorra) { this->Date_of_technical_osmorra = Date_of_technical_osmorra; }
    void setNumber_of_violations(int Number_of_violations) { this->Number_of_violations = Number_of_violations; }
    void setDriving_license_number(int Driving_license_number) { this->Driving_license_number = Driving_license_number; }
 
 
    string getname_owner() { return this->name_owner; }
    int getDate_of_technical_osmorra() { return this->Date_of_technical_osmorra; }
    int getNumber_of_violations() { return this->Number_of_violations; }
    int getDriving_license_number() { return this->Driving_license_number; }
 
};
 
Parking.h 
#pragma once
#include "Car.h"
typedef unsigned int uint;
 
 
class Parking
{
private:
    string name;
    string address;
    Car *cars;
    uint size;
 
public:
    Parking()
    {
        this->size = 0;
        this->cars = new Car[size];
    }
    Parking(string name, string address) : Parking() // инфа про парковку 
    {
        this->name = name;
        this->address = address;        
    }
    ~Parking() { delete[] cars; }
 
    Parking(const Parking &obj) // инфа про машину 
    {
        if (obj.size != 0)
        {
            this->name = obj.name;
            this->address = obj.address;
            this->size = obj.size;
            this->cars = new Car[size];
            for (int i = 0; i < this->size; i++)
                this->cars[i] = obj.cars[i];
        }
        else cout << "Parking is empty!" << endl;
    }
    void AddCar(Car car)
    {
        Car *tmp = new Car[this->size + 1];
        if (this->size > 0)
        {
            for (int i = 0; i < this->size; i++)
                tmp[i] = this->cars[i];
            delete[] cars;
        }
        tmp[size] = car;    
        this->size += 1;
        cars = tmp;
    }
    void DeleteCar(uint index)
    {
        if (this->size > 0 && (index < this->size -1 &&  index > 0))
        {
            Car *tmp = new Car[this->size - 1];
            if (this->size > 1)
            {
                for (int i = 0; i < this->size; i++)
                {
                    if(i < index) tmp[i] = this->cars[i];
                    else if(i > index) tmp[i-1] = this->cars[i];
                }
                delete[] cars;
            }
            this->size -= 1;
            this->cars = tmp;
        }
        else cout << "Parking is empty!" << endl;
    }
 
    void setName(string name) { this->name = name; }
    void setAddress(string address) { this->address = address; }
 
    string getName() { return this->name; }
    string getAddress() { return this->address; }
};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2018, 13:08
Ответы с готовыми решениями:

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...

Описать класс Car и его наследника, класс Sedan
Описать базовый класс CAR (автомашина) со свойствами: •*Марка машины; На его основе создать класс с именем SEDAN (седан), содержащий...

Описать класс Car и его наследника, класс Avto
Создать класс Автомобиль: Поля: - Марка - приватный - Габариты (А, Б, С) - публичный - Руль (право, лево) -...

2
Модератор
Эксперт С++
 Аватар для zss
13758 / 10953 / 6487
Регистрация: 18.12.2011
Сообщений: 29,209
23.09.2018, 16:09
класс Owner должен быть объявлен раньше класса Car.
0
0 / 0 / 0
Регистрация: 17.09.2018
Сообщений: 32
24.09.2018, 15:09  [ТС]
и что дальше
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.09.2018, 15:09
Помогаю со студенческими работами здесь

Разработать класс Car. Добавить в класс 3 поля...
Разработать класс Car. Добавить в класс 3 поля: марка автомобиля, цвет автомобиля (использовать перечисление), стоимость автомобиля ...

Нетиповой справочник выдает ошибку "Поле объекта не обнаружено (Владелец)"
Добрый день! Помогите пожалуйста! Программа Бухгалтерия 8.3., релиз 8.3.44.188, платформа 3.9.1818 Нетиповой справочник:...

Разработать класс Car. Добавить в класс 3 поля: марка автомобиля, цвет автомобиля и стоимость
Разработать класс Car. Добавить в класс 3 поля: марка автомобиля, цвет автомобиля (использовать перечисление), стоимость автомобиля...

Владелец БД.
В защищенной БД заводим СуперАдмина, который обладает максимальными правами на: 1. БД 2. новые таблицы и запросы 3. существующие...

Владелец диска C
У меня 2 вопроса 1) Как в Windows 10 снять атрибут &quot;Только чтение&quot;, что бы я не делал после нажатия &quot;Ok&quot; галочка &quot;Только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru