如何用参数重写构造函数并在单独的文件中实现它
How to override constructor with parameters and implement it in separate file
我有一个名为Entity的类的子类,我不希望该子类覆盖Entity的构造函数,但也调用Entity的构造器。所以我这样声明构造函数:
EntitySphere(GLuint shader):Entity(shader){
//Code
}
但只有当我在类定义中实现函数时,该方法才有效(或者我会遇到很多错误)。如何实现同样的目的,但能够在.cpp文件中实现构造函数?
要在类定义之外实现构造函数(或任何方法),需要在方法名之前指定类的名称:
EntitySphere::EntitySphere(GLuint shader): Entity(shader) {
// ...
}
请注意,EntitySphere::
部分位于方法的其余部分之前。
否则,编译器不知道您为哪个方法提供定义。(也许它可以被允许猜测,但如果它猜错了,并将该实现与程序中的其他功能关联起来,该怎么办?)
相关文章:
- 在实现文件中使用头文件的通用 lambda
- 在文件上实现迭代器
- C++头文件和类实现出现问题
- 在文件夹迭代上实现 RAII
- 如何使用命令提示符、记事本和 MinGW 使用主文件、头文件和实现文件编译C++程序?
- 用于 Windows 写入临时文件的 mkstemp() 实现
- 类中的数组变量C++导致"was not declared in this scope"实现文件的一个函数中错误,但在构造函数中不会导致错误
- Linux 源代码中普通磁盘文件的"轮询"功能在哪里实现?
- 在 *.cpp 文件中实现的 c++ 函数/方法永远不会内联扩展吗?
- 在实现文件中使用模板参数声明方法
- 在头文件中使用opencv类型来实现未定义的标识符
- 模板实现文件中的匿名命名空间
- 创建单独的实现文件和头文件
- 多文件类实现Cpp
- Reader类实现中的文件读取错误
- MEX文件实现特征库伪内函数崩溃
- openssl rc4 命令行加密和 cpp 文件实现 rc4 之间的区别
- 从其他头文件实现结构
- c++头文件-实现-头文件-实现依赖链
- 内存映射文件实现