如何从基础 class 初始化列表将变量添加到派生初始化列表?
How to add variable to derived initialization list from base class initialization list?
我有一个带有参数化构造函数的基础 class ShowTicket:
//constructor
ShowTicket(const char* Row, const char* SeatNumber):
sold_status{false},
row(Row),
seat_number(SeatNumber)
{}
我正在创建派生的 class,SportTicket 将采用与 ShowTicket 相同的参数,但会添加一个新的布尔值来跟踪 beer_sold。问题是我不知道如何告诉 C++ 我仍然希望 sold_status 在 SportTicket 构造函数中初始化为 false。
我试过这样做:
//Constructor
SportTicket(const char* Row, const char* SeatNumber):
ShowTicket(Row, SeatNumber),
beer_sold{false},
sold_status{false}
{}
但我收到以下错误信息:
成员初始值设定项'sold_status'没有命名非静态数据成员或基class
sold_satus 是否已经初始化为 false,因为该变量是从基础 classes 初始化列表继承的,或者是否有不同的语法我可以用来将这个变量引入我的派生 class?
class ShowTicket
的构造函数本身将其数据成员 sold_status
初始化为 false
//constructor
ShowTicket(const char* Row, const char* SeatNumber):
sold_status{false},
row(Row),
seat_number(SeatNumber)
{}
所以在导出的 class 中删除行
sold_status{false}
因为它不正确且多余。
//Constructor
SportTicket(const char* Row, const char* SeatNumber):
ShowTicket(Row, SeatNumber),
beer_sold{false}
{}
我有一个带有参数化构造函数的基础 class ShowTicket:
//constructor
ShowTicket(const char* Row, const char* SeatNumber):
sold_status{false},
row(Row),
seat_number(SeatNumber)
{}
我正在创建派生的 class,SportTicket 将采用与 ShowTicket 相同的参数,但会添加一个新的布尔值来跟踪 beer_sold。问题是我不知道如何告诉 C++ 我仍然希望 sold_status 在 SportTicket 构造函数中初始化为 false。
我试过这样做:
//Constructor
SportTicket(const char* Row, const char* SeatNumber):
ShowTicket(Row, SeatNumber),
beer_sold{false},
sold_status{false}
{}
但我收到以下错误信息:
成员初始值设定项'sold_status'没有命名非静态数据成员或基class
sold_satus 是否已经初始化为 false,因为该变量是从基础 classes 初始化列表继承的,或者是否有不同的语法我可以用来将这个变量引入我的派生 class?
class ShowTicket
的构造函数本身将其数据成员 sold_status
初始化为 false
//constructor
ShowTicket(const char* Row, const char* SeatNumber):
sold_status{false},
row(Row),
seat_number(SeatNumber)
{}
所以在导出的 class 中删除行
sold_status{false}
因为它不正确且多余。
//Constructor
SportTicket(const char* Row, const char* SeatNumber):
ShowTicket(Row, SeatNumber),
beer_sold{false}
{}