C++问题汇总

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;
}
原文地址:https://www.cnblogs.com/hellokitty2/p/10580778.html