Что сделать при ошибке displ is ininitialized. Always initialize a member variable?
Что сделать при ошибке displ is ininitialized. Always initialize a member variable? ниже представлен код программы:
#include <iostream>
#include <cstring>
using namespace std;
class Sheep {
char* name;
int displ;
public:
Sheep() {
cout << "Конструктор без параметров" << endl;
}
Sheep(const char* Name, int Displ) {
name = new char[strlen(Name) + 1];
name = strcpy(name, Name);
displ = Displ;
cout << "Конструктор с параметами" << endl;
}
Sheep(const Sheep& s) {
name = s.name;
displ = s.displ;
cout << "Конструктор копирования" << endl;
}
~Sheep() {
cout << "Вызван деструктор" << endl;
}
};
int main()
{
Sheep shееp;
Sheep shееp2("you", 12);
Sheep shееp3(shееp2);
}
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Напишите конструктор по умолчанию ("конструктор без параметров") полностью. Где то так
Sheep() : name{nullptr}, displ{0} {
cout << "Конструктор без параметров" << endl;
}