今天帮同学写了一个C++的小项目,然后遇到了各种问题,记录一下。
- 首先第一点,我竟然把宏定义和类名取成一样了,导致编译器各种报错,然后又因为用了codeblocks,报错是英文的,半天改不出来。两点经验教训:1、宏定义和类名不能相同;2、写工程项目尽量用Visual Studio,不要用codeblocks。
- 第二点,如果写了有参构造函数,那么需要补一个无参构造函数,不然会报错。
- 温习了一下虚函数的用法,父类和子类有相同的函数,那么如果是父类对象,调用该函数,则会执行父类的函数,但如果运用虚函数,那么如果父类引用、指针指向子类对象,则会调用子类的函数。
- 对于静态成员函数,需要在对应的.cpp文件中分配空间,在.h文件中只是声明,且分配空间的语句不能写在.h文件中,会提示重定义,
具体原理还没搞懂填坑。 - 调用父类构造函数的方法:A( int a ) : B(a)