学習C ++(C ++ 17) - 1.3小さなプログラム(part1.Employeeクラス)


序文

今日は三日目のreStudyです。私が学んだ書き込み何かにしようとするのBi(偽)学生(複数可)を使用するつもりです。 - また練習したいのに電子コースの休日の時間を確認するために、真実を伝えるが、ビデオを見て、すぐに疲れを感じるためにスイッチにコードスイッチをノックします。学習をいつ停止するか、ドキュメントを保持しています。前述の概要は、今、本当に有用なプログラム(ちなみに学生管理システムのコードについてTucaoはノック用学期は本当に悪いです処理し、クラスベースを参照してください)のイデオロギー的な目標でやろうとし、以上です。

請求

従業員の記録管理プログラムは、柔軟性および有効な機能を持っている必要があります。このアプリは含まれてい機能は次のとおりです。

  • 従業員を追加
  • 従業員の解雇
  • 従業員の昇進
  • (過去と現在を含む)すべての従業員を参照してください。
  • 現在のすべての従業員を見ます
  • すべての以前の(既に解雇)従業員を見ます

思考

店舗のシミュレーションデータにデータベースを書き込むためのクラスで全体従業員クラス、およびユーザ・インターフェース・プログラム・インタフェースを提供します

(初心者に起因する:この章では、知識に関する:

  • [X]名前空間

  • [X] CONST、ストリング、CIN、COUTの使用

  • [X]オブジェクト指向の考え方

  • [X]初期化リスト


実現

Employee.h

#pragma once
#include <string>

namespace Records {
	const int kDefaultStartingSalary = 30000;

	class Employee
	{
	public:
		Employee();
		Employee(const std::string fisrtName, const std::string lastName);

		void promote(int raiseAmount);//增薪,减薪,雇佣,炒鱿鱼
		void demote(int demeritAmount);
		void hire();
		void fire();

		void setSalary(int newSalary);//对fistName,lastName,employeeNumber,Salary的get和set
		const int getSalary();

		void setFirstName(const std::string newFirstName);
		const std::string getFirstName();

		void setLastName(const std::string newLastName);
		const std::string getLastName();

		void setEmployeeNumber(int employeeNumber);
		const int getEmployeeNumber();

		const bool isHired();//查看是否被炒

		void display();//显示  某职员信息
	private://初始化职员的默认资料
		std::string mFirstName;
		std::string mLastName;
		int mEmployeeNumber = -1;
		int mSalary = kDefaultStartingSalary;
		bool mHired = false;
	};

}

Employee.cpp

#include <iostream>
#include "Employee.h"

using namespace std;

namespace Records {
	Employee::Employee(const string firstName, const string lastName)//引用与否
		:mFirstName(firstName), mLastName(lastName) {
	}
	void Employee::setSalary(int newSalary){
		mSalary = newSalary;
	}

	const int Employee::getSalary(){//const位置
		return mSalary;
	}

	void Employee::promote(int raiseAmount) {
		setSalary(getSalary() + raiseAmount);
	}
	void Employee::demote(int demeritAmount) {
		setSalary(getSalary() - demeritAmount);
	}
	void Employee::hire() {
		mHired = true;
	}
	void Employee::fire() {
		mHired = false;
	}
	void Employee::setFirstName(const std::string newFirstName) {
		mFirstName = newFirstName;
	}
	const std::string Employee::getFirstName() {
		return mFirstName;
	}
	void Employee::setLastName(const std::string newLastName) {
		mLastName = newLastName;
	}
	const std::string Employee::getLastName() {
		return mLastName;
	}
	void Employee::setEmployeeNumber(int employeeNumber) {
		mEmployeeNumber = employeeNumber;
	}
	const int Employee::getEmployeeNumber() {
		return mEmployeeNumber;
	}
	const bool Employee::isHired() {
		return mHired;
	}
	void Employee::display() {
		cout << "Employee: " << getFirstName() << ", " << getLastName() << endl;
		cout << "--------------------" << endl;
		cout << (isHired() ? "Current Employee" : "Former Employee") << endl;
		cout << "Employee Number: " << getEmployeeNumber() << endl;
		cout << "Salary: " << getSalary() << endl;
		cout << endl;
	}
}

主な機能テスト

#include "Employee.h"
#include <iostream>

using namespace std;
using namespace Records;
int main()
{

    Employee emp("John","Daw");
    emp.setSalary(900);
    emp.setEmployeeNumber(1);
    emp.hire();
    emp.promote(50);
    emp.demote(25);
    emp.display();
    return 0;
}

Employee.png

成功した、それはプログラムの基本ですが。

おすすめ

転載: www.cnblogs.com/ranbom/p/12662054.html