Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2022, 11:47   #1
Apels1nka
Пользователь
 
Регистрация: 28.04.2022
Сообщений: 10
Радость Помогите испровить код

Створити клас двигун, який має потужність. Визначити конструктори і метод доступу
Створити клас машина, що містить клас двигун. Додатково є марка (покажчик на рядок), ціна.
Визначити конструктори і деструктор. Визначити public- похідний клас вантажівка, який має
додатково вантажопідйомність. Визначити конструктори, деструктори і функцію друку.
Код:
#include <iostream>
#include "String.h"

using namespace std;

class dvyhun {
int power;
public:
    dvyhun(int power=0){this->power=power;}
    ~dvyhun(){};

int Get_Power() {return power;}
};

class automobile {
protected:
    char* marka;
    double cina;
    dvyhun pow;
 public:
   automobile(char*,double,dvyhun) 
   {
   strcpy(this->marka,marka);
   this->cina=cina;
   this->pow=pow;
  }
   ~automobile(){};
};

class vant: public automobile {
int vantag;
public:
   vant(int vantag, char* marka, double cina=0, dvyhun pow=0): automobile(marka,cina,pow) {this->vantag=vantag;}
   ~vant(){};

void OutputVant();
};

void vant::OutputVant()
{
   cout<<"Marka: "<<marka<<endl;
   cout<<"Cina: "<<cina<<endl;
   cout<<"Power: "<<pow.Get_Power()<<endl;
   cout<<"Vantag: "<<vantag<<endl;
}

int main()
{ 

	vant obj(100, "TIR", 200, 300);
	obj.OutputVant();
	system("Pause");
	return 0;
}
Apels1nka вне форума Ответить с цитированием
Старый 28.04.2022, 16:21   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Apels1nka, переведите задачу на русский. Это русскоязычный форум.
Arigato на форуме Ответить с цитированием
Старый 28.04.2022, 22:59   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Apels1nka მართლა სულელი ხარ?
digitalis вне форума Ответить с цитированием
Старый 29.04.2022, 12:09   #4
Apels1nka
Пользователь
 
Регистрация: 28.04.2022
Сообщений: 10
По умолчанию

Arigato, Создать класс двигатель, имеющий мощность. Определить конструкторы и метод доступа
Создать класс машина, содержащая класс двигатель. Дополнительно есть марка (указатель на строчку), цена.
Определить конструкторы и деструкторы. Определить public-производный класс грузовик, который имеет
дополнительно грузоподъемность. Определить конструкторы, деструкторы и печать.
Apels1nka вне форума Ответить с цитированием
Старый 29.04.2022, 12:10   #5
Apels1nka
Пользователь
 
Регистрация: 28.04.2022
Сообщений: 10
По умолчанию

digitalis,
არა მე სულელი არ ვარ
Apels1nka вне форума Ответить с цитированием
Старый 29.04.2022, 13:04   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Apels1nka
Изображения
Тип файла: jpg Пи.JPG (3.4 Кб, 48 просмотров)

Последний раз редактировалось digitalis; 29.04.2022 в 13:14.
digitalis вне форума Ответить с цитированием
Старый 29.04.2022, 21:45   #7
maks1331
Форумчанин
 
Аватар для maks1331
 
Регистрация: 20.12.2016
Сообщений: 270
По умолчанию

Эх, жаль код нельзя на мове писать, во разошелся бы

Код:
~dvyhun(){};
Если ты деструктор или конструктор не определяешь (он пустой), его не надо объявлять, за тебя это сделает уважаемый компилятор

Код:
this->
Компилятор неявно подставляет this->, явно указывать не нужно

-----

Повнимательней всмотрелся в код, хоспаде...

Код:
class dvyhun {
int power;
public:
    dvyhun(int power=0){this->power=power;}
    ~dvyhun(){};

int Get_Power() {return power;}
};
Двихун :D

СИ ПЛАС ПЛАС умеет в список определения, то есть тут ты создал объект, передал ему параметр и потом присвоил его члену объекта, это плохо. Хорошо будет, если у тебя объект сразу будет создан с нужным значением:
Код:
class dvyhun {
int m_power;

public:
    dvyhun(int power = 0) : m_power(power) {}
    int Get_Power() { return m_power; }
};
Тут проблема в том, что переменные всегда имеют тип и имя, а у тебя где то только тип, а где то только имя...
Код:
automobile(char*,double,dvyhun) 
   {
   strcpy(this->marka,marka);
   this->cina=cina;
   this->pow=pow;
  }
Сина, это который Джон Сина?
Цитата:
Сообщение от Apels1nka Посмотреть сообщение
vant(int vantag, char* marka, double cina=0, dvyhun pow=0): automobile(marka,cina,pow) {this->vantag=vantag;}
Не сочти за грубость, просто настроение поднял, писать переменные конечно стоит на английском, отличный повод его подучить.

Где код пишешь? Где компилируешь? Советую Visual Studio. Кстати, компилятор выводит ошибки (не всегда понятно, но тут уже от уровня владения языком зависит), советую смотреть туда. Исправь очевидные ошибки и присылай код на повторный осмотр
формошлеп.рф
witech.su

Последний раз редактировалось maks1331; 29.04.2022 в 22:07.
maks1331 вне форума Ответить с цитированием
Старый 30.04.2022, 04:46   #8
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

Код:
#include <iostream>
#include <string>

struct dvyhun
{
    int power{};
};

struct automobile
{
    std::string marka;
    double cina{};
    dvyhun pow;
};

struct vant: public automobile
{
    int vantag{};
    
    vant()=default;
    vant(int vantag,const automobile& a):automobile(a),vantag(vantag){}
    
    void OutputVant()const
    {
        std::cout<<"Marka: "<<marka<<'\n';
        std::cout<<"Cina: "<<cina<<'\n';
        std::cout<<"Power: "<<pow.power<<'\n';
        std::cout<<"Vantag: "<<vantag<<'\n';
    }
};

int main()
{ 
    vant obj(100, automobile{"TIR", 200, {300}});
    obj.OutputVant();
    return 0;
}

Последний раз редактировалось Алексей1153; 30.04.2022 в 04:48.
Алексей1153 вне форума Ответить с цитированием
Старый 30.04.2022, 11:50   #9
Apels1nka
Пользователь
 
Регистрация: 28.04.2022
Сообщений: 10
По умолчанию

maks1331, хах , Двыхун -это все украинский язык)
я пишу в Visual Studio. Спасибо буду пробовать менять )
Apels1nka вне форума Ответить с цитированием
Старый 30.04.2022, 12:14   #10
Apels1nka
Пользователь
 
Регистрация: 28.04.2022
Сообщений: 10
По умолчанию

maks1331, я еще учусь , и все равно не могу понять почему у меня такая ошибка :
"отсутствуют экземпляры конструктора "vant::vant", соответствующие списку аргументов"
Apels1nka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод нужен срочно помогите ) в течение 2 часов от Паскаля на Турбо СИ нужно помогите Жанибек Помощь студентам 14 01.04.2015 17:23
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30