1.C++中类相互调用注意事项
(1)若A类中的方法需要调用B类中的函数,那么A类的源文件(或头文件)中需要包含B类的classs声明头文件。若使用了命名空间,还需要在B类的源文件(或头文件)中使用 using ...::A(从顶层命名空间一直到A类)。 若B类中的方法在类外实现,调用A类的方法时需要在前面加上A::作用域描述。
2.继承注意事项
(1).类A实现了f1()和f2(), f2()调用f1()。类B继承了类A, 且重写了f1(), 此时通过类B的对象调用函数f2(), 此时f2()内部调用的也是类B的f1()!!
结论:继承父类的函数时,继承的函数的内部调用的函数也会重新分配。
测试Java程序,同样效果!
3. struct 定义的类也可以有构造函数
struct stream_type_t { stream_type_t():volume(1.0f), mute(false) { } float volume; bool mute; };
4. C++可以直接定义引用类型的变量
#include <iostream> using namespace std; class Persion{ public: int num; }; int main(void) { Persion person1; person1.num = 100; Persion& person2(person1); //定义时必须要初始化 cout << "person2.num = " << person2.num << endl; return 0; }