Member 13010616 Ответов: 2

Что значит =означает, умолчанию? Myclass() = значение по умолчанию;


класса MyClass { общественности: для класса MyClass() = по умолчанию; для класса MyClass(const С класса MyClass&амп; ФОК) = по умолчанию; для класса MyClass(константные строки&амп; ул.) : mStr(ул.) {} // двигаться оператор присваивания для класса MyClass&амп; оператор=(для класса MyClass&усилитель;& РИТ) как noexcept { если (это == &ампер;РГО) вернуть *this; mStr = с std::двигаться(РИТ.mStr); соиь <&ЛТ; "шаг оператора= (mStr=" &ЛТ;&ЛТ; mStr &ЛТ;&ЛТ; ") " на << епси; вернуть *this; } строка метода getString() константный {возвращение mStr;} частный:

Что я уже пробовал:

class MyClass
{
public:
    MyClass() = default;
    MyClass(const MyClass& src) = default;
    MyClass(const string& str) : mStr(str) {}   // Move assignment operator
    MyClass& operator=(MyClass&& rhs) noexcept
    {
        if (this == &rhs)
           return *this;
        mStr = std::move(rhs.mStr);
        cout << "Move operator= (mStr=" << mStr << ")" << endl;
        return *this;
    }
    string getString() const {return mStr;}
private:

Richard MacCutchan

Пожалуйста, попробуйте сами изучить этот язык. Вся информация, которую вы хотите, может быть найден в C++ справочников.

2 Ответов

Рейтинг:
1

CPallini

Цитата:
MyClass() = значение по умолчанию

Это конструктор по умолчанию, см. пункт (4) Конструкторы по умолчанию - cppreference.com[^].


Maciej Los

5ed!

CPallini

Спасибо!

Рейтинг:
1

RickZeeland

Это оператор C++ 11 для указания, например, конструктора по умолчанию, см.: https://en.wikipedia.org/wiki/C%2B%2B11#Explicitly_defaulted_and_deleted_special_member_functions