构造函数声明:
Funcion(std::string cveFunc=" ", int numP = 0, Hora hour(0,0), int room=0);
构造函数:
Funcion::Funcion(std::string cveFunc, int numP, Hora hour(), int room) :
cveFuncion{cveFunc}, numPeli{numP}, hora hour = {}, sala{room}{}
问题出在 hour 属性上,我不知道如何正确声明它。
这是类 hora 的构造函数:
内部类:
Hora(int hhh=0, int mmm=0);
课外:
Hora::Hora(int hhh, int mmm) : hh{hhh}, mm{mmm} {}
最佳答案
使用
Funcion::Funcion(std::string cveFunc, int numP, Hora hour(), int room)
是错误的,因为在该上下文中 hour
被声明为不带参数并返回 Hour
的函数。您需要删除 ()
。使用:
Funcion::Funcion(std::string cveFunc, int numP, Hora hour, int room)
假设hora
是类的成员变量,成员初始化也需要更新为:
cveFuncion{cveFunc}, numPeli{numP}, hora {hour}, sala{room}
放在一起,你有:
Funcion::Funcion(std::string cveFunc, int numP, Hora hour, int room) :
cveFuncion{cveFunc}, numPeli{numP}, hora {hour}, sala{room}{}
关于c++ - 具有另一个类对象属性的类的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55155927/