Class declaration
|
|
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.
La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
<metanoindex/>
Sintassi
class identifier { class_body } object_list ;
|
(1) | ||||||||
class identifier : ancestor_list { class_body } object_list ;
|
(2) | ||||||||
class identifier ;
|
(3) | ||||||||
class identifier final opt_ancestors_and_body
|
(4) | (dal C++11) | |||||||
Class Body
A list of member and friend declarations and access specifiers:
public:
|
(1) | ||||||||
protected:
|
(2) | ||||||||
private:
|
(3) | ||||||||
friend friend_declaration
|
(4) | ||||||||
| member_declaration | (5) | ||||||||
static member_declaration
|
(6) | ||||||||
| nested_type_declaration | (7) | ||||||||
Ancestor List
A list of classes that have already bee fully defined optionally prefixed with an access specifier
Object List
An optional list of instances of the previously defined class
Spiegazione
- Defines a class and its member
- Defines a class inheriting other classes
- Forwards declares a class
- Defines a class that cannot be derived from ( see final )
If friend or member functions have their body defined inside the class body, they are implicitly inlined
Note
(dal C++11) A default value can be assigned to data members inside the class body (ie: not necessarily in a constructor)
Vedi anche
Esempio
class C;
class D : public B // B needs to be defined
{
private:
C *ptr_c; // a pointer/reference to C can be used as C has been forward declared
double x = 12.3; // C++11 inline data member initialization
static const int sci = 1; // this is valid in C++98 as well
public:
typedef B parent_type;
// inline function
virtual parent_type foo() const
{
return B();
}
// non-inline function declaration. needs to be defined externally
void bar();
} D_obj; // An object of type D is defined
// definition of a class method outside the class
void D::bar()
{
//...
}