Ich lese dieses book und ich habe Probleme, etwas von dem Code zu verstehen, der darin geschrieben ist. Das Programm soll als Basis-Datenbank für ein Unternehmen fungieren. Es sollte Mitarbeiterobjekte enthalten, die ihr Gehalt, ihren Status in der Firma (gemietet/entlassen) enthalten und über Methoden verfügen, die Sie für die Aktualisierung dieses Objekts aufrufen können.C++ - Referenzparameter Verwendet
Dies ist der Code, den sie
#pragma once
#include <string>
namespace Records {
const int kDefaultStartingSalary = 30000;
class Employee
{
public:
Employee();
void promote(int raiseAmount = 1000);
void demote(int demeritAmount = 1000);
void hire(); // Hires or rehires the employee
void fire(); // Dismisses the employee
void display() const;// Outputs employee info to console
// Getters and setters
void setFirstName(const std::string& firstName);
const std::string& getFirstName() const;
void setLastName(const std::string& lastName);
const std::string& getLastName() const;
void setEmployeeNumber(int employeeNumber);
int getEmployeeNumber() const;
void setSalary(int newSalary);
int getSalary() const;
bool getIsHired() const;
private:
std::string mFirstName;
std::string mLastName;
int mEmployeeNumber;
int mSalary;
bool mHired;
};
}
bieten kann ich nicht scheinen zu verstehen, warum auf der setFirstName und setLastName sie durch Bezugnahme in die Übergabe von Parametern in sind, dann in anderen Setter/Getter (wie setSalary) sie sind nach Wert übergeben. Wenn jemand erklären könnte, warum dies eine gute Praxis ist, wäre das ausgezeichnet! Sie haben ihre Wahl im Buch nicht erklärt.
http://stackoverflow.com/questions/2582797/why-pass-by-const-reference-instead-of-by-value –