私のコードに継承を使用しています。 ChangeRequestは私の基本クラスです。コードは以下の通りです。継承エラー後のメソッドへのアクセス
ChangeRequest.h
#include <iostream>
#include <string>
using namespace std;
class ChangeRequest
{
int swapDay;
int newDay;
public:
void setSwapDay(int newDay);
int getSwapDay();
void setNewDay(int newDay);
int getNewDay();
}。
ChangeRequest.cpp
#include "ChangeDutyRequest.h"
void ChangeRequest::setSwapDay(int newDay)
{
swapDay = newDay;
}
int ChangeRequest::getSwapDay()
{
return swapDay;
}
void ChangeRequest::setNewDay(int day)
{
newDay = day;
}
int ChangeRequest::getNewDay()
{
return newDay;
}
以下のコードは、派生クラスのためのものです。 SwapDuty SwapDuty.h
#include <iostream>
#include <string>
#include "ChangeRequest.h"
using namespace std;
class SwapDuty: public ChangeRequest
{
string requester;
public:
void setRequester(string member);
string getRequester();
};
SwapDuty.cpp
#include "SwapDuty.h"
void SwapDuty::setRequester(string member)
{
requester = member;
}
string SwapDuty::getRequester()
{
return requester;
}
私がコンパイルしgetRequesterを使用して依頼者の属性を()にアクセスします。次のエラーが表示されます。
'class ChangeRequest' has no member named 'getRequester'
は、これは私が私のコード
を使用する方法である誰かが私が間違っているのを教えていただけますか?ありがとうございます。
SwapDuty newSwapDutyRequest;
for(int i = 0; i < tempList.size(); i++)
{
if(tempList[i].getPersonToPerform().getName() == loginMember)
{
newSwapDutyRequest.setRequester(loginMember);
newSwapDutyRequest.setSwapDay(swapDay);
newSwapDutyRequest.setNewDutyDay(daySwapWith);
break;
}
}
changeList.push_back(newSwapDutyRequest);
cout << changeList[1].getRequester() << endl;
+ 'ChangeRequest'クラスで純粋な仮想関数' getRequester'を宣言してください –