Перегрузка конструкторов в C++
У одного класса может быть несколько конструкторов с разными списками параметров - это перегрузка. Компилятор выбирает подходящую форму по аргументам при создании объекта.
Запишем User с конструктором для возраста и
отдельным конструктором для имени:
#include <iostream>
#include <string>
class User {
public:
int age = 0;
std::string name;
User(int age) : age(age) {
}
User(std::string name) : name(name) {
}
void showAge() {
std::cout << age << "\n";
}
void showName() {
std::cout << name << "\n";
}
};
Создадим два объекта разными конструкторами и выведем поля:
int main() {
User byAge(25);
User byName("ann");
byAge.showAge();
byName.showName();
return 0;
}
Сделайте класс Product с конструктором, принимающим цену, и конструктором, принимающим название, затем создайте по одному объекту каждым способом.