У меня есть проект для моего класса CS, и я написал конструктор копирования и передаю в него объект класса, но main вызывает неправильный конструктор.
main:
Mammal x;
cout << "Initial values for x: ";
cout << "Age = " << x.getAge() << " Weight = " << x.getWeight() << endl;
x.setAge(10);
x.setWeight(123);
cout << "Modified values for x: ";
cout << "Age = " << x.getAge() << " Weight = " << x.getWeight() << endl;
Mammal w(&x);
cout << "\nModified values for w: ";
cout << "Age = " << w.getAge() << " Weight = " << w.getWeight() << endl;
w.sound();
конструктор копирования:
Mammal(Mammal &x)
{
this->canSwim = x.canSwim;
}
функция, которую вызывает основная функция:
Mammal(bool x)
{
canSwim = x;
}
Я ожидаю, что выходные данные скопируют значения, но он устанавливает значение возраста и веса0 от конструктора по умолчанию.