- 6
- 0
- 约5.11万字
- 约 60页
- 2017-01-30 发布于重庆
- 举报
怎样使用类和对象
8.5.2 类声明和成员函数定义的分离VC++ 多文件结构多文件结构的好处是:1、避免多次无谓的编译,因为编译器总是以文件为单位工作。2、使程序更加容易管理。可以将程序按逻辑划分,分解成各个源文件,便于成员任务安排,以及调试。3、把相关函数放在一个特定源文件中。头文件作用一个程序通常有多个文件组成,这就必须计划在每个源文件中哪些信息可以被其他文件见到,那些不行。C++可以指定那些元素有外部或静态存储类型。具有外部存储属性的声明可以在多个源文件中引用,方便的方法是将它们放在头文件中。头文件源文件之间接口的作用。头文件一般可包含:类型、函数、数据的声明内联函数、常量、枚举、宏的定义注释和包含指令 如# includeiostream.h多文件结构示例1,不包含类的程序//mycircle.hdouble circle(double radius);//mycircle.cpp 计算圆的面积#includeiostream#include circle.husing namespace std;const double pi=3.14;double circle(double radius){return pi*radius*radius;} //main.cpp#includeiostream#includemycircle.h //注意是双引号,但引号将出现编译错误using namespace std;int main(){double radius=3.5;coutthe area of rect iscircle(radius)endl;system(pause);return 0;}在VS2008上通过。多文件结构示例2,包含类的程序//student.h (这是头文件,在此文件中进行类的声明)class Student //类声明{ public : void display( );//公用成员函数原型声明private : int num;char name[20];char sex;};//student.cpp//在此文件中进行函数的定义#include iostream#include student.h//不要漏写此行,否则编译通不过using namespace std;void Student::display()//在类外定义display类函数{coutnum:numendl; coutname:nameendl; coutsex:sexendl;}//main.cpp 主函数模块#include iostream #include student.h //将类声明头文件包含进来int main( ) {Student stud;//定义对象stud.display();//执行stud对象的display函数system(pause);return 0;} 在VS2008上通过。多文件结构示例3,不包含类,但是包含有全局变量的程序使用了string类、数据类型。//student.cpp#include iostream#include stringusing namespace std;//声明有本文件之外的三个全局变量,要在本文件中的函数里访问extern int num;extern string name;extern char sex;void display()//在类外定义display类函数{coutnum:numendl; coutname:nameendl;coutsex:sexendl; }//main.cpp#include iostream#include stringusing namespace std;//定义三个全局变量,并赋初始值int num=3; string name=Li; char sex=f;int main( ){void display();//调用之前先声明函数display();system(pause);return 0;}程序运行结果:在VS2008上通过。说明:1、两个文件都是cpp文件,不用指定谁包含谁。2、一个工程项目可以有多个cpp文件,将各个函数分开。3、一个cpp文件可以用于多个工程项目,代码重用。4、一个工程项目的多个cpp文件中,只能有一个main( )函数。5、本例中的情况1:在一个文件中定义全局变量,在另一个文件中使用全局变量。要在使用全局变量的文件中进行声明:extern int num;……全局变量在另一个文件中被使用之前要声明。在声明时extern关键词是必须的。如果上面的语句无extern,变成int num;则成为变量的定义。在本文件中的全局变量。与另一个文件中的全局变量重名。还有一种情况:extern int
您可能关注的文档
最近下载
- (高清版)DB31∕T 1487-2024 国际医疗服务规范.docx VIP
- 精益管理措施在医院手术室医用耗材管理中的应用.pdf VIP
- 2026及未来5年中国商务男装市场运行态势及战略咨询报告.docx
- 泸州市高2023级(2026届)高三(一诊)数学试题(含标准答案).pdf
- 新城地产商开目标成本主要科目价格测算标准-定稿.pptx VIP
- 12月1日艾滋病宣传日活动方案模板(集锦5篇).docx VIP
- 2024年湖南铁道职业技术学院单招计算机测试模拟题库必考题.docx VIP
- 遗产分割起诉状.docx VIP
- 2021年重庆市中考物理真题(a卷).pdf VIP
- 2025年度民主生活会对照检查材料8篇五个带头合集.docx VIP
原创力文档

文档评论(0)