KAIHATSUGIKEN GROUP
********************************************************************************
22 プライベートデータとパブリックデータ
プログラムからのクラスメンバーに対する参照を制御するために、C++ではメンバーを
パブリック(公開)プライベート(非公開)に定義することが出来ます。
*******************************************
#include <iostream.h>
#include <string.h>
class employee {
public:
int assign_values(char *, long, float);
void show_employee(void);
int change_salary(float);
long get_id(void);
private:
char name[64];
long employe_id;
float salary;
};
int employee::assign_values(char *emp_name,long emp_id,
float emp_salary)
{
strcpy(name,emp_name);
employee_id = emp_id;
if (emp_salary < 50000.0)
{
salary = emp_salary;
return(0);
}
else
return(-1);
}
long employee::get_id(void)
{
return(emplyee_id);
}
void main(void) //ここから始まる
{
employee worker; //employeeオブジェクトworkerを宣言
if (worker.assign_values("Happy Jamsa", 101, 10101.0) ==0)
{ //関数assign_valuesの引き数に値を渡す
cout << "Emplyee values successfully assigned" << endl;
worker.show_employee(); //show_employeeを呼び出し
}
else
cout << "Invalid salary specified" << endl;
}
***********************
#include <iostream.h>
#include <string.h>
class employee {
public: //pubulicラベルを使用する
int assign_values(char *, long, float); //値を渡される
void show_employee(void); //クラスの中で関数を宣言
int change_salary(float);
long get_id(void);
private: //privateにはドット演算子を使っても
char name[64]; //参照することは出来ない
long employe_id;
float salary;
};
int employee::assign_values(char *emp_name,long emp_id, float emp_salary)
{ //assign_valuesの値を代入
strcpy(name, emp_name) //Happy jamsa文字列を読み込み
employee_id = emp_id; //101を代入
if (emp_salary < 50000.0) //emp_salaryを代入10101.0
{
salary = emp_salary; //emp_salaryをsalaryに代入
return(0); //適正な値
}
else
return(-1); //不適切な値
}
long employee::get_id(void)
{
return(emplyee_id);
}
void main(void)
{
employee worker;
if (worker.assign_values("Happy Jamsa", 101, 10101.0) ==0)
{
cout << "Emplyee values successfully assigned" << endl;
worker.show_employee();
}
else
cout << "Invalid salary specified" << endl;
}
***********************