teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

C++の例を追加

2020/08/09 04:21

投稿

raccy
raccy

スコア21784

answer CHANGED
@@ -2,4 +2,25 @@
2
2
 
3
3
  Cの構造体は単純にデータ構造だけを定義できます。デフォルトの初期値を定義したり、初期化時の処理を書いたりすることはできません。
4
4
 
5
- なお、C++ですと構造体はクラスに進化(C++ではstructとclassはデフォルトのアクセス範囲以外は全く同じです)していますので、デフォルト初期値や初期化時の処理が追加可能です。
5
+ なお、C++ですと構造体はクラスに進化(C++ではstructとclassはデフォルトのアクセス範囲以外は全く同じです)していますので、デフォルト初期値や初期化時の処理が追加可能です。
6
+
7
+ ---
8
+
9
+ 【参考】C++での例(Cではコンパイル出来ません)
10
+
11
+ ```C++
12
+ #include <cstdio>
13
+
14
+ struct Hand{
15
+ char hand[9];
16
+ int num;
17
+ char gcp[3][9] = {"rock","scissors","paper"};
18
+ };
19
+
20
+ int main()
21
+ {
22
+ auto hand = new Hand("janken", 3);
23
+ std::printf("%s\n", hand->gcp[0]);
24
+ return 0;
25
+ }
26
+ ```