class or struct の使い分けについて

解決


DD.  2005-06-20 20:51:45  No: 57991

お世話になっております、DD.です。

今回お聞きしたいことは
タイトルの通り class と struct の使い分けについてです。

私は、メンバ関数を含むもしくは継承する場合やインターフェイス作成時等に
class を扱い、(ほとんどそうですが)

主に、メンバ変数のみ(データのみ)時に struct を使っています。

どちらを使っても、そう大差はないと自分では思っているのですが、
(デフォルトのアクセス指定子くらいしか思い浮かばない...)

皆さんはどのように使い分けていらっしゃるのでしょうか?

また、"きまり"のようなものがあれば教えて頂けないでしょうか。

よろしくお願い致します。


tetrapod  2005-06-20 22:27:41  No: 57992

まさに class/struct の違いは省略時アクセス指定だけですし、
使い分けに特に「決まり」などは無いと思われます。

私がどう使い分けているか、ということならお話できます。が、これが正しいとか
間違っているとか、そーいうことには踏み込めませんけど...

MY方針:基本的に常に class を使う。例外的に struct を使う。
例外1:C とのソース互換が必要な場合
例外2:クラスの基本設計上全メンバが public であるべき場合
std::binary_function みたいな struct

D&E で Bjarne 氏は「わざと同じにした」と書いてますね。


DD.  2005-06-20 22:50:49  No: 57993

tetrapodさん、回答ありがとうございます。

>まさに class/struct の違いは省略時アクセス指定だけですし、
>使い分けに特に「決まり」などは無いと思われます。
特にないんですね^^;

>例外1:C とのソース互換が必要な場合
例外2もなるほどといった感じでしたが、
例外1は、なお納得です。

たしかにC互換を考えると struct ですよね。

>D&E で Bjarne 氏は「わざと同じにした」と書いてますね。
きっと Bjarne 氏も遊び好き...
たしかC++はプログラマの下がった単価を上げるために
わざと難解な言語にしたやらうんたらかんたら言ってた記事とかも
ありましたよね...orz


n  2005-06-20 23:19:19  No: 57994

> たしかC++はプログラマの下がった単価を上げるために
> わざと難解な言語にしたやらうんたらかんたら言ってた記事とかも
> ありましたよね...orz

それたぶん他人が作ったネタ記事です。


DD.  2005-06-20 23:30:54  No: 57995

>それたぶん他人が作ったネタ記事です。
そうなんですか。。。

#それ記事に対する回答みたいなのが
#Bjarne 氏のHPに書いてあったみたいですが
#英文なので読めなかったばか者です。orz


DD.  2005-06-20 23:32:24  No: 57996

解決チャック忘れていました。

class も struct も特に決まった使い分けはなく、
基本的には同じもので、
後は個々の使い分け方次第という方向で。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加