Прежде всего, я только немного научился Java. Прошло всего несколько дней с тех пор, как я начал дружить с C++, поэтому, пожалуйста, не ставьте этот вопрос таким базовым и, пожалуйста, не меняйте мой вопрос.C++: как заставить геттеры и сеттеры работать с пустым конструктором
Я сделал простой исходный код следующим образом:
#include <iostream>
using namespace std;
class Car {
public:
void setBrand(string name);
void setPrice(double price);
string getBrand();
double getPrice();
Car();
Car(string name);
Car(string name, double price);
private:
string name;
double price;
};
Car::Car() {
}
Car::Car(string name) {
name = name;
}
Car::Car(string name, double price) {
name = name;
price = price;
}
void Car::setBrand(string name) {
name = name;
}
void Car::setPrice(double price) {
price = price;
}
string Car::getBrand(void) {
return name;
}
double Car::getPrice(void) {
return price;
}
int main() {
Car car;
car.setBrand("Nissan");
car.setPrice(30000);
cout << "Brand: " << car.getBrand() << endl;
cout << "Price: " << car.getPrice() << endl;
return 0;
}
Я хотел бы сделать код, который создает пустой экземпляр класса под названием Car, установите значение поля позже и распечатать их на консоли.
Код не вызывал ошибок во время компиляции, но результат, который я вижу, полностью отличался от ожидаемого. Он не показывал название бренда, и цена выглядела даже странно:
Brand:
Price: 6.95322e-310
Кто-нибудь поможет мне! Большое вам спасибо заранее.
Я люблю выражение * Прошло всего несколько дней с тех пор, как я начал дружить с C++ * - Не волнуйтесь - через 6 месяцев вы будете заполняться для развода –
Совет. Не дайте каждой организации в вашей программе одно и то же имя, и вы вряд ли будете смущать себя. –
Одна из идей состоит в том, чтобы префиксные переменные-члены, т.е. «m_name» –