Giriş
Kullanıcı herhangi bir constructor metodu yazarsa üretilmez. Açıklaması şöyle.
default constructor kullanmak için const alanlara değer atamak gerekir. Şu kod derlenmez.
Kullanıcı herhangi bir constructor metodu yazarsa üretilmez. Açıklaması şöyle.
A default constructor is one without any parameters. Normally, it is provided for you. But if you explicitly define any other constructor, then it is not.
Açıklaması şöyle.
const AlanIf no user-declared constructors of any kind are provided for a class type (struct, class, or union), the compiler will always declare a default constructor as an inline public member of its class.
default constructor kullanmak için const alanlara değer atamak gerekir. Şu kod derlenmez.
class Bond
{
public:
Bond(int payments_per_year, int period_lengths_in_months);
Bond() = default;
private:
const int payments_per_year;
const int period_length_in_months;
};
int main()
{
Bond b; // Error here
}
Defaulted Default Constructor
Örnek
Açıklaması şöyle. Yani sınıfın başka bir constructor'ı varsa ve derleyici halen default constructor üretsin istiyorsak kullanılır.
Dog() = default; is a user declared constructor (not to be confused with a user defined constructor). It is a defaulted default constructor. Typically you would use it when the class has other constructors but you still want the compiler to generate a default constructor (or rather a "defaulted default constructor". This is C++ terminology at its best. Note how the two "default"s have slightly different meaning).
Şöyle yaparız
class Dog
{
private:
int x;
public:
Dog()=default;
};
Hiç yorum yok:
Yorum Gönder