KAIHATSUGIKEN GROUP

C++ PROGRAMMING LANGUAGE





*******************************************************************************
23 コンストラクタ関数とデストラクタ関数
*******************************************
オブジェクトを生成するときに実行される特殊な関数 コンストラクタ関数
オブジェクトを破棄するときに実行される デストラクタ関数
********************************************************
#include <iostream.h>
#include <string.h>

class employee {
	public:
	employee(char *, long, float);
	void show_employee(void);

	int change_salary(float);
	long get_id(void);
	
	private:
	char name[64]
	long employee_id;
	float salary;
	};

employee::employee(char *name, long employee_id, float salary)
	{
	strcpy(employee::name, name);
	employee::employee_id = employee_id;

	if (salary < 50000.0)
	employee::salary = salary;
	
	else 
	employee::salary = 0.0;
	}

void employee::show_employee(void)
{
	cout << "Employee: " << name << endl;
	cout << "Id: " << employee_id << endl;
	cout << "Salary: " << salary << endl;
}

void main(void)						//ここから始まる
{
	employee worker("Happy Jamsa", 101,10101.0);
			//employeeオブジェクトworkerを宣言して初期値が続く
	worker.show_employee();		//workerのメンバーに値を代入
}
*******************************
#include <iostream.h>
#include <string.h>

class employee {			//コンストラクタ関数class名employee
	public:						//publicメンバー
	employee(char *, long, float);			//3つの型を宣言
	void show_employee(void);		//関数show_employeeに値を渡す

	int change_salary(float);		
	long get_id(void);				
	
	private:					//privateメンバー
	char name[64]					//Happy Jamsa
	long employee_id;				//101
	float salary;					//10101.0
	};

employee::employee(char *name, long employee_id, float salary)//大域解決演算子
	{
	strcpy(employee::name, name);	//employeeのnameの文字列をコピー
	employee::employee_id = employee_id;		

	if (salary < 50000.0)
	employee::salary = salary;
	
	else 
	employee::salary = 0.0;				//不適正な値の場合
	}

void employee::show_employee(void)
{
	cout << "Employee: " << name << endl;
	cout << "Id: " << employee_id << endl;
	cout << "Salary: " << salary << endl;
}

void main(void)
{
	employee worker("Happy Jamsa", 101,10101.0);

	worker.show_employee();
}
*******************************************************************
#include <iostream.h>
#include <string.h>

class employee {
	public:
	employee(char *, long, float);
	employee(char *, long);
	void show_employee(void);
	int change_salary(float);
	long get_id(void);

	private:
	char name[64]
	long employee_id;
	float salary;
	};

employee::employee(char *name, long employee_id,float salary)
{
	strcpy(employee::name,name);
	employee::employee_id = employee_id;

		if(salary < 50000.0)
		employee::salary = salary;
	
		else 	
		employee::salary = 0.0;
}
	
employee::employee(char *name,long employee_id)
{
	strcpy(employee::name,name);
	employee::employee_id = employee_id;

	do {
		cout << "Enter a salary for " << name <<
			 " less than $50,000: ";
		cin >> employee::salary;
	}while (salary >= 50000.0);
}

void employee::show_employee(void)
{
	cout << "Employee: " << name << endl;
	cout << "Id: " << employee_id <> employee::salary;//画面入力値をemployee::salaryに代入
	}while (salary >= 50000.0);	//50000.0以下であれば繰り返す
}

void employee::show_employee(void)	//関数employee::show_employee
{
	cout << "Employee: " << name << endl;			//出力
	cout << "Id: " << employee_id <