
17 Classes
17.10 Instance constructors
17.10.4 Default constructors
Paragraph 11 If a class contains no instance constructor declarations, a default instance constructor is automatically provided. 2 That default constructor simply invokes the parameterless constructor of the direct base class. 3 If the direct base class does not have an accessible parameterless instance constructor, a compile-time error occurs. 4 If the class is abstract then the declared accessibility for the default constructor is protected. 5 Otherwise, the declared accessibility for the default constructor is public. [Note: Thus, the default constructor is always of the form
protected C(): base() {}
or
public C(): base() {}
where C is the name of the class. end note] [Example: In the example
class Message
{
object sender;
string text;
}
a default constructor is provided because the class contains no instance constructor declarations. Thus, the example is precisely equivalent to
class Message
{
object sender;
string text;
public Message(): base() {}
}
end example]
| |
| Jagger Software Ltd | |
| Company # 4070126 | |
| VAT # 762 5213 42 |