c++ #include 类互相包含问题
程序员文章站
2022-07-12 21:35:42
...
A.h文件
B.h文件
A.cpp文件
B.cpp文件
main程序文件
#ifndef _A_H_ #define _A_H_ #include"B.h" static int count=0; class A { public: void fun1(); }; #endif
B.h文件
#ifndef _B_H_ #define _B_H_ class A; //注意:这里是C++类的前向声明,没有用include“A.h”把对方加进来是考虑到了没有必要,因为最终两个类是要编译到一块 class B { public: void fun2(); }; #endif
A.cpp文件
#include "stdafx.h" #include "A.h" #include <iostream> using std::cout; using std::endl; void A::fun1() { cout<<"a"<<endl<<count++<<endl; if(count==1000) { cout<<"太多了,停不下来了"; getchar(); exit(0); } B b; b.fun2(); }
B.cpp文件
#include "stdafx.h" #include "A.h" //注意:这个地方没用B.h是考虑到了编译连接的顺序 #include <iostream> using std::cout; using std::endl; void B::fun2() { cout<<"b"<<endl<<count++<<endl; if(count==1000) { cout<<"太多了,停不下来了"; getchar(); exit(0); } A a; a.fun1(); }
main程序文件
#include "stdafx.h" #include<iostream> #include"A.h" //注意:这个地方没有include“B.h”但是下面用的了B类,说明B类头文件肯定在A.h中有include。 using std::cout; using std::endl; void main() { A a; B b; a.fun1(); b.fun2(); getchar(); }
上一篇:
jsp include page
下一篇: JSP开发常见问题