gpt4 book ai didi

c++ - 如何用参数覆盖构造函数并在单独的文件中实现它

转载 作者:行者123 更新时间:2023-11-28 00:53:19 25 4
gpt4 key购买 nike

我有一个名为 Entity 的类的子类,我不希望该子类覆盖 Entity 的构造函数,但也调用 Entity 的构造函数。所以我这样声明构造函数:

EntitySphere(GLuint shader):Entity(shader){
//Code
}

但该方法只有在我在类定义中实现该函数时才有效(否则我会遇到很多错误)。我怎样才能实现相同的目标,但能够在 .cpp 文件中实现构造函数?

最佳答案

要在类定义之外实现构造函数(或任何方法,就此而言),您需要在方法名称之前指定类的名称:

EntitySphere::EntitySphere(GLuint shader): Entity(shader) {
// ...
}

注意方法其余部分之前的 EntitySphere:: 部分。

否则,编译器不知道您为哪个方法提供了定义。 (也许它可以被允许猜测,但如果它猜错了并将该实现与您程序中的其他功能相关联怎么办?)

关于c++ - 如何用参数覆盖构造函数并在单独的文件中实现它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12860112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com