在技术总结之前,先上一波宏观经验。首先,Java和C++还是在很多细节性的地方区别蛮大的(JAVA果然是阉割了的C++)。其次,项目安排一定要分清阶段任务,就像最短路径问题。分清任务次序很重要。分清哪些是基础功能哪些是优化功能,基础功能就是必须实现的,哪怕效率不高等等问题,但必须安排在优化功能之前实现。OK!技术经验捧上!
1、多文件结构使用静态成员的麻烦。具体到工程实践2里,就是静态调用背景绘制函数(easyX图形库)失败。遇如下报错:
error LNK2001: Cannot resolve the external command "public: static
class IMAGE R::mag1" (?mag1@R@@2VIMAGE@@A)
这里的错误在于,静态变量没有在类外定义,这里的类外指.cpp文件。因为在静态数据成员的特殊性,必须类内类外声明两次。类内的声明就是纯粹的声明,而类外的叫定义是为了分配给静态变量内存和初始值。总之,二者缺一则报错;但是,当类型为const static时的整形时可以在类体内进行初始化。
静态成员函数和静态数据成员在类外定义和初始化时都不用再加static 了,使用类名限定就好了。否则红线报错如下:

本文是作者的C++工程实践心得,涵盖了多文件结构下静态成员的使用问题,包括静态成员函数和数据成员的声明与初始化。文章还探讨了C++与Java在资源类实现、继承与多态、角色工厂类等方面的区别,并分享了在项目中遇到的错误及解决方案。此外,还提到了键盘和鼠标信息处理、FPS控制以及头文件互相包含问题的处理。
最低0.47元/天 解锁文章
5517

被折叠的 条评论
为什么被折叠?



