【初心者歓迎】C/C++室 Ver.72【環境依存OK】at TECH
【初心者歓迎】C/C++室 Ver.72【環境依存OK】 - 暇つぶし2ch313:デフォルトの名無しさん
10/04/02 15:00:21
すみません、考え方の整理をしたいので質問させて下さい。
自分は普段、Java と C# をメインに開発している者なのですが、趣味の範囲で C/C++ を真面目に
使いたいと思い、ここしばらくずっと勉強を続けています。

質問内容は、「C++ で言うクラス"名" は、C で言う構造体のタグ名と同じ捉え方でいいのか」 です。
具体的に言うと、C(/C++) の構造体について、現在自分はこのように捉えています。

 struct { 内容 } 変数名A, 変数名B; は、その内容を構造として持った複合体のような変数として、宣言している。ちょうど、
 int 変数名A, 変数名B; での、型名 int の部分が、{ 内容 } の形で表現されているような状態。
 そして実際の記法としては、それが構造体の宣言である事を明示するため、struct と最初に書いてコンパイラに伝えている。

 さらに、あとでこの同じ構造を再度利用したい(新しい変数を使いたい)場合に備え、
 ここに一発で同じ内容を示す為の 「タグ名」 を、書くことも出来る。 そしてそれは、

 struct タグ名 { 内容 } 変数名A, 変数名B; と、ある時、
 struct タグ名 変数名C; のようにして簡易に使うことが出来る。

 で、C++ になってからこの再度宣言する際の struct の一文は省略できるようになったので、
 まるで Java や C# で言うクラス名のように見えているけど、 実はこれは元々再呼び出しの為の、タグ名だった。

そして、C++ になって今度はより仕掛けの拡張された class が登場したが、この時の

 class 名前 { 内容 } 変数名;

にある "名前" の部分は、上記理解中にあるタグ名と同様に捉えておいていいんでしょうか、という事です。
よろしくお願いいたします。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch