クラス

クラスは、オブジェクト指向言語の中心的な機能・・・。
オブジェクト指向については別のサイトを参照の事として、C++では、以下のように定義する・・・。

class <クラス名>{

  <アクセス指定子>:

    <メンバ変数の型> <メンバ変数名>;
    <メンバ関数のプロトタイプ宣言>;

};

こんな感じで見た目は構造体に似ているが、クラスはメンバ変数に加えてメンバ関数を定義できる・・・。

C言語の構造体の頁で作ったstruct_tag_profileのC++クラス版を定義する・・・。

name, age, addressはメンバ関数からのみアクセスできるprivateメンバとして定義する・・・。
そして外部からも呼べるpublicメンバとして、name, age, addressを設定するinputメンバ関数
name, age, addressを出力するoutputメンバ関数を定義する・・・。

次にメンバ関数の内部の処理を定義する・・・。

<戻り値型> <クラス名>::<メンバ関数名>(引数型 引数名, ...){
  <内部の処理>;
}

まずはinputメンバ、

入力演算子でname, age, addressに入力・・・。

outputメンバは、

出力演算子でname, age, addressを出力・・・。

main関数では、まずclass_profileのローカルオブジェクトとして、profを宣言する・・・。

<クラス名> <オブジェクト名>;

class_profileはあくまで雛形であり、実際に使うには変数とおなじようにインスタンス(実体)の宣言などが必要・・・。これがオブジェクト・・・。

inputメンバ関数でname, address, ageを設定する・・・。

入力が終わったら、今度は入力されたname, age, addressをoutputメンバ関数で出力・・・。

実行すると、

$ ./class
name: Taro
age: 20
address: Tokyo

name: Taro
age: 20
address: Tokyo

ということでC++クラス版でも入力、出力ができた・・・。

Sample/class.cpp at master · bg1bgst333/Sample · GitHub