ホームページ > バックエンド開発 > C++ > C/C++ の構造とクラスの違い

C/C++ の構造とクラスの違い

PHPz
リリース: 2023-09-17 18:13:02
転載
1361 人が閲覧しました

C/C++ 结构体与类的区别

C では、構造体とクラスは基本的に同じです。しかし、微妙な違いがいくつかあります。これらの違いを以下に示します。

  • デフォルトでは、クラスのメンバーはプライベートですが、構造体のメンバーはパブリックです。これら 2 つのコードを見て、違いを見てみましょう。

#include <iostream>
using namespace std;
class my_class {
   int x = 10;
};
int main() {
   my_class my_ob;
   cout << my_ob.x;
}
ログイン後にコピー

出力

This program will not be compiled. It will generate compile time error for
the private data member.
ログイン後にコピー

#include <iostream>
using namespace std;
struct my_struct {
   int x = 10;
};
int main() {
   my_struct my_ob;
   cout << my_ob.x;
}
ログイン後にコピー

出力

10
ログイン後にコピー
ログイン後にコピー
  • クラスまたは構造体から構造体を派生する場合、その基本クラスのデフォルトのアクセス指定子は public ですが、クラスを派生する場合、デフォルトのアクセス指定子は private になります。

Example

#include <iostream>
using namespace std;
class my_base_class {
   public:
   int x = 10;
};
class my_derived_class : my_base_class {
};
int main() {
   my_derived_class d;
   cout << d.x;
}
ログイン後にコピー

出力

This program will not be compiled. It will generate compile time error that the variable x of the base class is inaccessible
ログイン後にコピー

#include <iostream>
using namespace std;
class my_base_class {
   public:
   int x = 10;
};
struct my_derived_struct : my_base_class {
};
int main() {
   my_derived_struct d;
   cout << d.x;
}
ログイン後にコピー

出力

10
ログイン後にコピー
ログイン後にコピー

以上がC/C++ の構造とクラスの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート