用另一个类成员 C++ 初始化一个类成员
Posted
技术标签:
【中文标题】用另一个类成员 C++ 初始化一个类成员【英文标题】:Initializing a class member with another class member C++ 【发布时间】:2015-07-22 00:02:38 【问题描述】:我有一个包含两个不同类对象作为成员的类。我想用另一个成员初始化其中一个成员,但到目前为止我似乎无法让它工作。
例如,Game game(&input);
包含必须指定类型的错误。我该怎么做呢?
class KApp
private:
Input input;
Game game(&input);
;
class Input
Input() ;
;
class Game
private:
Input* input;
public:
Game(Input & inp) : input(&inp)
Game(Input* inp) : input(inp)
;
【问题讨论】:
【参考方案1】:试试这样的
class KApp
private:
Input input;
Game game;
KApp() : game(&input)
;
Game game(&input);
的情况是,您声明了一个成员 game
,编译器已将其作为函数声明并抱怨该参数没有类型。
这样,您在 KApp 的构造函数中显式调用 Game::Game(Input*)
(此时应使用其默认构造函数初始化输入)。
编辑 - 输入*与输入&
【讨论】:
级长。谢啦。我明白你在说什么。我正在努力尽快做到这一点。我应该在调用类对象构造函数时而不是在声明类对象时这样做。我做了调整,效果很好。以上是关于用另一个类成员 C++ 初始化一个类成员的主要内容,如果未能解决你的问题,请参考以下文章