Что сделать при ошибке 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;
}
→ Ссылка