【发布时间】:2021-11-25 09:43:23
【问题描述】:
我正在编写一个分配程序,它实现了旨在模拟选举的 OOP 原则。
我有一个班级聚会:
class Party{
public:
Party(){};
~Party(){};
Party(std::string name, int budget){partyName = name; electionBudget = budget;}
std::string getPartyName(){return partyName;}
std::string getLeaderName(){return leaderName;}
std::string getManagerName(){return managerName;}
int getElectionBudget(){return electionBudget;}
void setElectionBudget(int budget){electionBudget = budget;}
void setLeaderName(std::string lName){leaderName = lName;}
void setManagerName(std::string mName){managerName = mName;}
std::vector<Stance> getPartyStances(){return partyStance;}
void setPartyStances(std::vector<Stance> pStance){partyStance = pStance;}
void *leaderPtr;
void *managerPtr;
void setLeader(void *a){leaderPtr = a; }
void setManager(void *a){managerPtr = a;}
void spendMoneyOnEvent(int cost){
int currentBudget = getElectionBudget();
setElectionBudget(currentBudget - cost);
}
void print();
private:
std::string partyName;
std::string leaderName;
std::string managerName;
std::vector<Stance> partyStance;
int electionBudget;
};
在一个大的 for 循环中,我每天都会像这样更新各方剩余的预算:
for(Party p : partiesVector){
std::cout << p.getPartyName() << " budget remaining: " << "$" << p.getElectionBudget() << std::endl;
}
我还在我的 main.cpp 中实现了代码,以在每次事件发生时更新预算。例如:
case 0:
std::cout << debate.getEventName() << std::endl;
std::cout << debate.getEventDecription() << std::endl;
party1.spendMoneyOnEvent(500);
std::cout << party1.debate.haveDebate(party1, party2, party3);
break;
但是,无论我尝试设置什么或尝试更新变量,它始终保持不变(我声明它的内容)。这里有什么我不理解或遗漏的地方吗?
任何帮助将不胜感激,因为我对 C++ 还是比较陌生
谢谢!
【问题讨论】: