C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++でクラスと構造体をいつ使用する必要がありますか?


構造とクラスはC++で非常に似ていますが、いくつかの違いがあります。したがって、これらの違いの詳細を以下に示します。これは、C++でクラスまたは構造をいつ使用するかを決定するのに役立ちます。

クラスと構造の違い

クラスのすべてのメンバーは、デフォルトでプライベートです。構造体のすべてのメンバーがデフォルトで公開されているため、これは構造体とは異なります。

C++でクラスをデモンストレーションするプログラムは次のとおりです-

#include <iostream>
using namespace std;
class Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   return 0;
}

valはデフォルトでプライベートであり、objを使用して直接アクセスできないため、このプログラムではエラーが発生します。

C++の構造を示すプログラムは次のとおりです-

#include <iostream>
using namespace std;
struct Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   cout<<"Value is: "<<obj.val;
   return 0;
}

出力

上記のプログラムの出力は次のとおりです-

Value is: 20

上記のプログラムは、valがデフォルトでパブリックであるため正しく機能し、objを使用して直接アクセスできます。

クラスと構造体のもう1つの違いは、継承中に明らかになります。クラスを継承する場合、基本クラスのアクセス指定子はデフォルトでプライベートです。比較すると、構造を継承する場合、基本構造のアクセス指定子はデフォルトでパブリックです。


  1. JavaScriptの矢印関数を使用すべきでない場合は?

    矢印関数には独自のこれがないため、矢印関数をオブジェクトメソッドとして使用しないでください。オブジェクト自体ではなく、ウィンドウオブジェクトである囲んでいる字句スコープのこの値を取ります。これにより、目的のオブジェクトではなくウィンドウオブジェクトのプロパティを設定してアクセスするため、問題が発生する可能性があります。 以下は、JavaScriptの矢印関数を使用すべきでない場合を示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8

  2. HDMIスプリッターとスイッチ:いつ使用する必要がありますか?

    最近、私たちのビジュアルおよびオーディオエンターテインメントの多くはHDMIを利用しています。 SCARTプラグをいじったり、VGAケーブルを設定したりする必要はもうありません。 HDMIケーブルを両端に差し込むだけで準備完了です! ただし、HDMI管理をさらに細かく制御できる小型のデバイスを購入できることをご存知ですか?これらは「スプリッター」および「スイッチ」と呼ばれ、HDMI出力を整理する上で重要な役割を果たします。 これらの両方が何であるか、そしてそれらがどのように役立つかを見てみましょう。 HDMIスプリッターの使用方法 HDMIスプリッターは1つのジョブを実行します。つまり