The Wayback Machine - https://web.archive.org/web/20180202072536/http://ja.cppreference.com:80/w/cpp/language/class
名前空間
変種
操作

Class declaration

提供: cppreference.com
< cpp‎ | language

 
 
C++言語
一般的なトピック
Original:
General topics
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
フロー制御
Original:
Flow control
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
条件付き実行文
Original:
Conditional execution statements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
繰り返し文
Original:
Iteration statements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
文をジャンプします
Original:
Jump statements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
機能します
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
関数の宣言
ラムダ関数の宣言
関数テンプレート
の歴史。インライン指定
例外仕様(廃止予定)
noexcept指定子(C++11)
例外
Original:
Exceptions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
名前空間
Original:
Namespaces
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
タイプ
Original:
Types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
decltype specifier(C++11)
指定子
Original:
Specifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
CV指定
貯蔵期間指定
constexprの指定子(C++11)
自動指定(C++11)
alignas指定子(C++11)
初期化
Original:
Initialization
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
リテラル
Original:
Literals
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Original:
Expressions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
代替表現
ユーティリティ
Original:
Utilities
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
タイプ
Original:
Types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
typedef declaration
型の別名宣言(C++11)
属性(C++11)
キャストします
Original:
Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
暗黙の型変換
const_cast conversion
static_cast conversion
dynamic_cast conversion
reinterpret_cast conversion
Cスタイルキャストと機能
メモリの割り当て
Original:
Memory allocation
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
クラス
Original:
Classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
クラス固有の機能特性
Original:
Class-specific function properties
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
特殊なメンバ関数
Original:
Special member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
テンプレート
Original:
Templates
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
クラステンプレート
関数テンプレート
テンプレートの特殊化
パラメーターパック(C++11)
その他
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
インラインアセンブリ
 

目次

[編集]構文

classidentifier{class_body} object_list; (1)
classidentifier:ancestor_list{class_body} object_list; (2)
classidentifier; (3)
classidentifierfinalopt_ancestors_and_body (4) (C++11およびそれ以降)

[編集]Class Body

A list of member and friend declarations and access specifiers:

public: (1)
protected: (2)
private: (3)
friendfriend_declaration (4)
member_declaration (5)
staticmember_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

[編集]説明

  1. Defines a class and its member
  2. Defines a class inheriting other classes
  3. Forwards declares a class
  4. 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

[編集]ノート

(C++11およびそれ以降) A default value can be assigned to data members inside the class body (ie: not necessarily in a constructor)

[編集]参照


[編集]

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 declareddouble x =12.3;// C++11 inline data member initializationstaticconstint sci =1;// this is valid in C++98 as wellpublic:typedef B parent_type;   // inline functionvirtual parent_type foo()const{return B();}   // non-inline function declaration. needs to be defined externallyvoid bar();} D_obj;// An object of type D is defined   // definition of a class method outside the classvoid D::bar(){//...}
close