Пожалуйста, помогите питонисту с C++!⁠⁠

Приветствую!

Upd: был сонный, вот и забыл написать, что изучаю плюсы по вышке


Вот как описан класс в задании


Марка - char*

Мощность - int

Цена - float

В задании указано написать функцию ввода данных в объект с клавиатуры, затем создать объект с помощью конструктора по умолчанию и ввести данные в объект с помощью клавиатуры.

В общем, ввод работает, но либо программа завершается, либо не меняются параметры объекта


Юзаю Microsoft Visual C++

Уже просил в сети помощи, вот что ответили

... вы создаете временный объект Car с помощью вызова конструктора, после выхода из Input этот объект сразу уничтожается

Так как мне получить объект с введёнными с клавиатуры параметрами и вывести ЕГО параметры на экран?

Ах да, класс автомобиль с параметрами Марка, цена, мощь


#include <iostream>

#include <string.h>

#include <stdlib.h>

using namespace std;

class Car {

private:

char* marka;

int power;

float price;

public:

Car(char* m = "Renault", int pw = 150, float p = 1255000.0){

marka = m;

power = pw;

price = p;

};

public:

void Print(){

cout << "Mark is " << marka << ", price equals " << price << ", power is " << power << endl;

};

void Input();

};

void Car::Input(){

char *mark;

//Car new_;

mark = new char;

//new_ = new Car;

int pw;

float price;

cout << "Power of automobile: " << endl;

cin >> power;

cout << "Price of automobile: " << endl;

cin >> price;

cout << "Mark of automobile: " << endl;

cin >> marka;

Car output(marka,power,price);

};


int main() {

Car default_;

Car ipnut;

Car example("Toyota",145,1205000.0);

example.Print();

default_.Print();

ipnut.Input();

ipnut.Print();

return 0;

}

Лига программистов

2.4K постов12K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

7
Автор поста оценил этот комментарий

Гы.


Это так не работает. Вообще так не работает. Может вы возьмёте книгу и почитаете? А то вы наобум и напролом пытаетесь на манер питона. Не прокатит.


char* --> это ни фига не строка. Это указатель на область памяти, где вам е щё массив создать надо, и вы не сможете в него читать из std::cin, не выделив достаточно места. Оно у вас просто вылетит потому что вы пишете туда, куда нельзя.


меняйте все char* на std::string, и пробуйте снова.


Для std::string, нужен инклюд. #include <string>

раскрыть ветку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества