我想知道我在哪里可以改进我的程序以及我的代码遇到了问题。
这是我的英雄级别和来源,它告诉我我有hero h;
调用已删除的函数以及如何通过此函数传递统计信息?直到我弄清楚我有//
类构造函数。
class hero : public Stats {
//protected:
public:
void raceAndClass() {
Stats S(10,10,10,10,10,10);
race c_race(race::orc, S);
//classes c_classes(classes::fighter, modStats, sneak, bluff, deplomacy, swim, mana, run);
using namespace std;
}
};
int main()
{
hero H;
H.raceAndClass();
while (true);
}
这是我下一节课的统计资料
class Stats {
public:
int //default stats
Str = 10,
Dex = 10,
Con = 10,
Int = 10,
Wis = 10,
Chr = 10;
Stats(int STR, int DEX, int CON, int INT, int WIS, int CHR) :
Str(STR), Dex(DEX), Con(CON), Int(INT), Wis(WIS), Chr(CHR) {
}
};
我的种族cpp和标题
#include"stats.h"
class race {
public:
enum raceOpt { orc, elf, human };
race(raceOpt c_raceOpt, Stats &stats);
//race opt outcomes
void ORC(Stats& stats) {
stats.Str += 2;
stats.Int -= 2;
stats.Chr -= 2;
}
void ELF(Stats &stats) {
//elf code and stat changes
}
void HUMAN(Stats &stats) {
}
};
#include"race.h"
race::race(raceOpt c_raceOpt, Stats &stats) {
switch (c_raceOpt) {
case orc:
ORC(stats);
break;
case human:
//human code
break;
case elf:
//elf code
break;
}
}
最后我的课程cpp&标题。(当前未被调用)
#include"stats.h"
class classes {
public:
enum classOpt { fighter, mage, soccerPlayer };
classes(classOpt c_classOpt, double ModStats[_MAX_PATH], int& Sneak, int& Bluff, int& Deplomacy, int& Swim, int& Mana, int& Run);
void Fighter(int& SWIM, int& RUN, int& BLUFF, double ModStats[_MAX_PATH]) {
SWIM = static_cast<int>(SWIM + std::round(((ModStats[1] * 2.3))));
RUN = static_cast<int>(RUN + (std::round(((ModStats[1] * 2)))));
BLUFF = static_cast<int>(BLUFF + std::round(((ModStats[0] * 2.5))));
}
void Mage(int& MANA, int& DEPLOMACY, int& BLUFF, double ModStats[_MAX_PATH]) {
//code to be added
}
void SoccerPlayer(int& RUN, int& SWIM, int& DEPLOMACY, int& SNEAK, double ModStats[_MAX_PATH]) {
//code to be added
}
};
#include"classes.h"
classes::classes(classOpt c_classOpt, double ModStats[_MAX_PATH], int& Sneak, int& Bluff, int& Deplomacy, int& Swim, int& Mana, int& Run) {
switch (c_classOpt) {
case fighter:
Fighter(Swim, Run, Bluff, ModStats);
break;
case mage:
Mage(Mana, Deplomacy, Bluff, ModStats);
break;
case soccerPlayer:
SoccerPlayer(Run, Swim, Deplomacy, Sneak, ModStats);
break;
}
}
答案 0 :(得分:1)
您的Stats
课程来自Stats
。你的hero
类需要一个带有一堆参数的构造函数调用;没有默认构造函数。因此,您不能仅使用hero H;
调用默认的hero
构造函数,因为没有一个(编译器告诉您不能引用已删除的方法)。您需要为Stats
实现一个无参构造函数,它使用合适的参数调用{% block contents %}
<video name='demo' controls autoplay width='50%' height='40%'>
<source src="{{STATIC_URL}}sample1.mp4" type="video/mp4"></source>
</video>
{% endblock %}
构造函数。
答案 1 :(得分:0)
我重新编写了我的统计课程和我的英雄课程!我还将参加我的统计课程,并为其添加更多的统计数据/技能,以及让我的班级课程重新加入。谢谢你的帮助!!!
#pragma once
class Stats {
public:
int //default stats
Str = 10,
Dex = 10,
Con = 10,
Int = 10,
Wis = 10,
Chr = 10;
Stats(){}
};
//hero class vvvvv
class hero : public Stats {
private:
Stats s;
public:
hero() {
race c_race(race::orc, s);
std::cout << s.Str << std::endl;
std::cout << s.Int << std::endl;
std::cout << s.Chr << std::endl;
std::cout << s.Wis << std::endl;
//classes c_classes(classes::fighter, modStats, sneak, bluff, deplomacy, swim, mana, run);
}
};