これは間違いですか?private メンバーは基本クラスから継承されていないと思いました:
「クラス HourlyEmployee の定義では、メンバー変数 name、ssn、および netPay について言及されていませんが、クラス HourlyEmployee のすべてのオブジェクトには、name、ssn、および netPay という名前のメンバー変数があります。メンバー変数 name、ssn、および netPay は、クラスの従業員。」
//This is the header file hourlyemployee.h.
//This is the interface for the class HourlyEmployee.
#ifndef HOURLYEMPLOYEE_H
#define HOURLYEMPLOYEE_H
#include <string>
#include "employee.h"
using std::string;
namespace SavitchEmployees
{
class HourlyEmployee : public Employee
{
public:
HourlyEmployee( );
HourlyEmployee(const string& theName, const string& theSsn,
double theWageRate, double theHours);
void setRate(double newWageRate);
double getRate( ) const;
void setHours(double hoursWorked);
double getHours( ) const;
void printCheck( );
private:
double wageRate;
double hours;
};
}//SavitchEmployees
#endif //HOURLYEMPLOYEE_H
その他のヘッダー ファイル:
//This is the header file employee.h.
//This is the interface for the class Employee.
//This is primarily intended to be used as a base class to derive
//classes for different kinds of employees.
#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include <string>
using std::string;
namespace SavitchEmployees
{
class Employee
{
public:
Employee( );
Employee(const string& theName, const string& theSsn);
string getName( ) const;
string getSsn( ) const;
double getNetPay( ) const;
void setName(const string& newName);
void setSsn(const string& newSsn);
void setNetPay(double newNetPay);
void printCheck( ) const;
private:
string name;
string ssn;
double netPay;
};
}//SavitchEmployees
#endif //EMPLOYEE_H