![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
class と構造体はオブジェクトかという話ですが、
C++/C# ではオブジェクトとはしないのが普通です。
class や 構造体から「生成」された「インスタンス」を
オブジェクトとするのが普通。
型の「定義」とそれから生成された「実体」は別物だからです。
ただ、単に構造体といった場合、型か実体かははっきりしないので
構造体をオブジェクトと呼ぶことはあるかもしれません。
流石に C++/C# ではclass をオブジェクトとは呼びませんね。
但し、classの方は、C++ を離れると、言語によっては classが
メモリ上にちゃんと実体を持つ、クラスオブジェクト
と呼ばれるオブジェクトになる言語が結構たくさんあります。
SmallTalk とか Delphi とか・・・
ところ変われば品変わるというということですね。
No.3
- 回答日時:
> プログラムで、classはオブジェクトと呼ばれることが多いみたい
初耳です(笑)。そうなんですか(笑)?
基本的にはclassとオブジェクトは(語義的には)別物だと思います。
一般には・・・うーん、語弊があるかもしれんですが、データ、例えば数値、文字列データ等を「オブジェクト」と呼ぶケースが多いですね。
ざっくり言うと、データ=オブジェクトです。
ただ、プログラミング言語を設計する時点で、データ群が何かしらの階層構造、あるいはヒエラルキーを持ってて、全てのデータがそれに所属してる場合に、それらのデータを「オブジェクト」と呼ぶ場合が多いようです。
つまり、基底の抽象データが一つあって、全てのデータが「そこから順繰りに派生してる」ような階層構造を成すように設計されてた時、それに所属するデータを「オブジェクト」と呼んだりする。
形式的にはオブジェクト指向で
「クラスを作ってデータを(継承を利用して)設計してる」
のと凄く良く似てますが、必ずしもプログラミング言語設計時にオブジェクト指向の言語を使う必要はないので、これはあくまで、「データ形式が全て抽象基底データから派生してるように設計した場合」でのオブジェクトで、必ずしもクラスと密接に関係している必要もありません。
恐らく、一般にオブジェクト、と言った場合、こういう「データそのもの」を呼ぶ場合の方が多いんじゃないでしょうか。
> 構造体はオブジェクトと呼んでも良いのでしょうか
呼ぶ必要はないと思います。
No.2
- 回答日時:
いちおう、ここは「C言語・C++・C#」のカテゴリーになっています。
そのそれぞれで「クラス」と「構造体」の意味や機能が違うので、一概には言えません。
# ちなみに
# C言語: 構造体だけで、クラスは存在しない
# C++: 機能はまったく同じもの。デフォルトのメンバーがPrivateになるのがクラス、Publicになるのが構造体
# C#: クラスは参照型、構造体は値型
ただ。
クラスは「オブジェクトの設計図」のようなものです。
クラス=オブジェクトではありません。
「クラス○○のオブジェクト」という言い方はしますが、これは「クラス○○の性質を持ったオブジェクト」という意味です。
同様に、構造体もオブジェクトではありません。
ですが「構造体××の 性質を持ったオブジェクト→構造体××のオブジェクト」という場合はあります。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
COMコンポーネントって何?
-
Excelで =EMBED("Acrobat Docu...
-
C#でフォームのオブジェクト名...
-
CoCreateInstanceでエラーになる。
-
VBAからノーツを起動
-
bmp画像をjpegやpng画像に圧縮...
-
3Dの背景とはどういう作り方を...
-
ビジュアルC++でボタンの有...
-
ワイルドカード<?>と型パラメー...
-
VBA 同じ名前のオブジェクトを...
-
ヘッダファイルにおける文字列...
-
.getElementById()のエラーにつ...
-
ストリング文字列をDocumentオ...
-
C++でのクラスオブジェクトの破棄
-
時間帯判定をする。
-
オブジェクトの解放をするには?...
-
VBSでのステートメントの末尾が...
-
データ型で質問です。
-
戻り値がクラスオブジェクト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
VBA 同じ名前のオブジェクトを...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBAのWindowオブジェクトとWork...
-
C#でフォームのオブジェクト名...
-
ワイルドカード<?>と型パラメー...
-
COMコンポーネントって何?
-
ビジュアルC++でボタンの有...
-
Object型からDouble型へのキャスト
-
error C2712: オブジェクト ア...
-
newは明示的にした方が良いのか?
-
オブジェクトレベルとメタレベル
-
0 == False はいいけど
-
ASP.net 教えてください!!(...
-
LISTBOXの内容が更新されま...
-
戻り値がクラスオブジェクト
-
時間帯判定をする。
-
Vbで通常使用するプリンターを...
-
ワードで画像をドロップすると...
おすすめ情報