具有另一个类对象的属性的类构造函数

Constructor of a class with an attribute that is another class object

本文关键字:属性 构造函数 对象 另一个      更新时间:2023-10-16

构造函数声明:

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}{}

问题是在属性时我不知道如何正确声明。

这是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}{}