#include语句中引用头文件时使用

版权声明:如需转载,请注明出处。 https://blog.csdn.net/LiBoom/article/details/63688839

C语言编译器会用一些目录存放公共头文件,如果<>则只在这些目录下找头文件,如果用”“先在当前目录下找,如果找不到则在这些目录下找。

一般来说,自己定义的头文件应该用”“,因为这些文件放在工程目录(也就是编译器的当前目录)下,而不是放在公共头文件目录下,如果用<>则找不到头文件。

而系统提供的头文件,比如库函数的头文件,可以用<>
不过保险的话,用”“肯定可以找到所有头文件,包括系统库函数头文件和自己定义的头文件。

//a.h
#ifndef A_H
#define A_H
class B;
class A{
    B*b;
    public:
    A ();
    ~A();
    void show1(){
        b->show();
    }
};
#endif // A_H

//b.h
#ifndef B_H
#define B_H
class A;
class B{
    A a;
public:
    void show();
    B();
    ~B();
};

#endif // B_H

//main.cpp
#include <iostream>
#include"a.h"
#include"b.h"
A::A(){

}
A::~A(){

}
B::B(){


}
B::~B(){

}
B::show(){
    cout<<"B"<<endl;
}

using namespace std;

int main(int argc, char *argv[])
{
    A a;
    B b;
    cout << "Hello World!" << endl;
    return 0;
}


但是,经过实践发现,在QT中两者能够混用,上网查询发现是不同的编译器对这个要求不一样.

阅读更多

没有更多推荐了,返回首页