C++ > クラス

クラス(class)

オブジェクトの作成

クラス宣言

class class-name{     //非公開関数と変数 public:     //公開関数と変数 } object-list;

  • メンバ(member) クラス宣言内で宣言される関数と変数
  • メンバ関数(member function) クラスの一部として宣言された関数
  • スコープ解決演算子(scope resolution operator) メンバ関数の定義に使う

メンバ関数の定義の一般形式

ret-type class-name::func-name(parameter-list) {    // 関数の本体 }

#include <iostream>
using namespace std;

class myclass {
  int a;
public:
  void set_a( int num );
  int get_a();
};

void myclass::set_a( int num )
{
  a = num;
}

int myclass::get_a()
{
  return a;
}

int main()
{
  myclass ob1,ob2;

  ob1.set_a(10);
  ob2.set_a(99);

  cout << ob1.get_a() << "\n";
  cout << ob2.get_a() << "\n";

  return 0;
}

オブジェクトの代入

  • 同じ型のオブジェクトなら、すべてのデータメンバがビット単位でコピーされる。
  • メモリを動的に割り当てた場合、メモリが開放されている状態でコピーされるとエラーが起こる。

オブジェクトの引き渡し

  • 値呼び出し(pass by value)


参考文献

  • 独習C++ 第3版(Herbert Schildt,2002,翔泳社)
最終更新:2011年03月04日 14:10