大佬教程收集整理的这篇文章主要介绍了C++多文件结构和预编译命令,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
下面随笔将给出C++多文件结构和预编译命令细节。
c++程序的一般组织结构
一个工程可以划分多个源文件
类声明文件(.h文件)
类实现文件(.cpp文件)
类的使用文件(main()所在.cpp文件)
利用工程来组合各个文件
1 //文件1,类的定义,Point.h 2 3 class Point { //类的定义 4 5 public: //外部接口 6 7 Point(int x = 0, int y = 0) : x(X), y(y) { count++; } 8 9 Point(const Point &p); 10 11 ~Point() { count--; } 12 13 int getX() const { return x; } 14 15 int getY() const { return y; } 16 17 static void showCount(); //静态函数成员 18 19 private: //私有数据成员 20 21 int x, y; 22 23 static int count; //静态数据成员 24 25 };
1 //文件2,类的实现,Point.cpp 2 3 #include "Point.h" 4 5 #include <iostream> 6 7 using namespace std; 8 9 10 11 int Point::count = 0; //使用类名初始化静态数据成员 12 13 14 15 Point::Point(const Point &p) : x(p.X), y(p.y) { 16 17 count++; 18 19 } 20 21 22 23 void Point::showCount() { 24 25 cout << " Object count = " << count << endl; 26 27 }
1 //文件3,主函数,5_10.cpp 2 3 #include "Point.h" 4 5 #include <iostream> 6 7 using namespace std; 8 9 10 11 int main() { 12 13 Point a(4, 5); //定义对象a,其构造函数使count增1 14 15 cout <<"Point a: "<<a.getX()<<", "<<a.getY(); 16 17 Point::showCount(); //输出对象个数 18 19 Point b(a); //定义对象b,其构造函数回使count增1 20 21 cout <<"Point B: "<<b.getX()<<", "<<b.getY(); 22 23 Point::showCount(); //输出对象个数 24 25 return 0; 26 27 }
条件编译指令——#if 和 #endif
#if 常量表达式
//当“ 常量表达式”非零时编译
程序正文
#endif
......
条件编译指令——#else
#if 常量表达式
//当“ 常量表达式”非零时编译
程序正文1
#else
//当“ 常量表达式”为零时编译
程序正文2
#endif
条件编译指令——#elif
#if 常量表达式1
程序正文1 //当“ 常量表达式1”非零时编译
#elif 常量表达式2
程序正文2 //当“ 常量表达式2”非零时编译
#else
程序正文3 //其他情况下编译
#endif
条件编译指令
#ifdef 标识符
程序段1
#else
程序段2
#endif
以上是大佬教程为你收集整理的C++多文件结构和预编译命令全部内容,希望文章能够帮你解决C++多文件结构和预编译命令所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。