第一回-03 : BCC Developer の使い方 (その2)

第一回-02 BCC Developer の使い方(その1)」では「標準入出力 (cout/cin)」のみを扱いましたが、ここではクラスを用いたプログラムを実行してみます。
クラスは、C++ などのオブジェクト指向プログラミング言語において重要な役割を果たすデータ構造であり、これから学んでいくことになります。

ここでは、まず以下のプログラムを扱います。

// ここからクラス宣言部
#include <iostream>
using namespace std;

class myclass{

	int a;	//private なメンバ変数
	
  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;
}


このプログラムでは、整数型の変数 a をメンバ変数として持つクラス myobject をクラス定義部で宣言し、
a に値をセットする関数 (set_a()) と、a の値を読み出す関数 (get_a()) をクラス実現部で実装し、
そのクラスのオブジェクト ob1, ob2 をクラス利用部で利用しています。

このプログラムを BCC Developer で実行する方法は 「ファイルを分割しない方法」と「ファイルを分割する方法」の2つがありますので、以下で順に解説します。

ファイルを分割しない方法

「ファイルを分割しない方法」は簡単で、上記のプログラム全体を一つのファイルに まとめて記述するだけです。
具体的には、「第一回-02 BCC Developer の使い方(その1)」 を参照してください。

新しいプログラムを作成するときは、「プロジェクトを新規作成する」ことを忘れないこと!

メイクして実行すると、以下のようになるでしょう。

10
99 

これは、「ob1 の a には 10 が、ob2 の a には 99 がセットされている」 ことを意味します。

ファイルを分割する方法

ここでは、上記のプログラムを3つのファイルに分割して記述する方法を示します。
ファイルの分割は、大規模なプログラムを作成する際、あるいは市販の開発ツールなどを用いる場合に
必ずと言って良いほど使われますので、ここで慣れておくと後々都合が良いでしょう。

具体的には、上記プログラムの 「クラス宣言部」、「クラス実現部」、「クラス利用部」 を3つのファイルに分けて記述します。
ここでは、「クラス宣言部 myclass.h」、「クラス実現部 myclass.cpp」、「クラス利用部 myclass-test.cpp」のようなファイル名で解説します。



// クラス宣言部 (myclass.h に記述)
#include <iostream>
using namespace std;

class myclass{

	int a;	//private なメンバ変数
	
  public:
  	void set_a(int num);
	int get_a();
};
// クラス実現部 (myclass.cpp に記述)

#include "myclass.h"  // この行を追加!

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

int myclass::get_a(){
	return a;
}
// クラス利用部 (myclass-test.cpp に記述

#include "myclass.h"  // この行を追加!

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;
}


3つのファイルにそれぞれの内容を記述したら、ファイルを全てセーブしてから、プログラムをメイクして実行してみてください。
結果は「分割しない場合」と変わりません。


「コンパイル」、「メイク」、「再構築」の違い

記述したプログラムをコンパイルするために、「コンパイル」、「メイク」、「再構築」の3つがありますが、ここではこれらの違いを記します。



←第一回-02 : BCC Developer の使用法 (その1)第一回-04 : BCC Developer エラーメッセージの FAQ→

第一回演習用ページへ戻る

クラスから入る C++へ戻る