问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++程序的多文件组成 如何将一个源程序分成三个文件 最好举例说明 我不明白为什么我分成后出现

发布网友 发布时间:2022-04-27 07:46

我来回答

2个回答

热心网友 时间:2023-10-06 00:52

把一个源程序分成三个文件,一般情况包含《文件名》.h头文件用于实现函数的声明,函数文件<文件名>.cpp,主函数文件头文件和函数文件用#include“文件名.h(.cpp)开头声明!
下边例子头文件head.h是类定义头文件,head.cpp是类实现文件4-4.cpp是主函数文件
//head.h
class Point{
public:
Point(int xx=0,int yy=0){
x=xx;
y=yy;
}
Point(Point &p);
int getX(){return x;}
int getY(){return y;}
private:
int x,y;
};class Line{
public:
Line(Point xp1,Point xp2);
Line(Line &l);
double getLen(){return len;}
private:
Point p1,p2;
double len;
};
//head.app
#include"head.h"
#include<iostream>
#include<cmath>
using namespace std;
Point::Point(Point &p){
x=p.x;
y=p.y;
cout<<"Calling the copy constructor of Point"<<endl;
}
Line::Line(Point xp1,Point xp2):p1(xp1),p2(xp2){
cout<<"Calling consturctor of Line"<<endl;
double x=static_cast<double>(p1.getX()-p2.getX());
double y=static_cast<double>(p1.getY()-p2.getY());
len=sqrt(x*x+y*y);
}
Line::Line (Line &l):p1(l.p1),p2(l.p2){
cout<<"Calling the copy constructor of Line"<<endl;
len=l.len ;
}
//4_4.app
#include "head.h"
#include <iostream>
using namespace std;
int main(){
Point myp1(1,1),myp2(4,5);
Line line(myp1,myp2);
Line line2(line);
cout<<"The length of the line2 is:";
cout<<line.getLen()<<endl;
cout<<"The length of the line2 is:";
cout<<line2.getLen()<<endl;
return 0;
}
综合到一块如下:
#include <iostream>
using namespace std;
class Point{
public:
Point(int xx=0,int yy=0){
x=xx;
y=yy;
}
Point(Point &p);
int getX(){return x;}
int getY(){return y;}
private:
int x,y;
};class Line{
public:
Line(Point xp1,Point xp2);
Line(Line &l);
double getLen(){return len;}
private:
Point p1,p2;
double len;
};using namespace std;
Point::Point(Point &p){
x=p.x;
y=p.y;
cout<<"Calling the copy constructor of Point"<<endl;
}
Line::Line(Point xp1,Point xp2):p1(xp1),p2(xp2){
cout<<"Calling consturctor of Line"<<endl;
double x=static_cast<double>(p1.getX()-p2.getX());
double y=static_cast<double>(p1.getY()-p2.getY());
len=sqrt(x*x+y*y);
}
Line::Line (Line &l):p1(l.p1),p2(l.p2){
cout<<"Calling the copy constructor of Line"<<endl;
len=l.len ;
}
int main(){
Point myp1(1,1),myp2(4,5);
Line line(myp1,myp2);
Line line2(line);
cout<<"The length of the line2 is:";
cout<<line.getLen()<<endl;
cout<<"The length of the line2 is:";
cout<<line2.getLen()<<endl;
return 0;
}追问分成三个文件
#include "head.h"在程序里找不到
我是不明白分开的情况

追答新建head.h文件,你建了吗?

热心网友 时间:2023-10-06 00:52

你用什么开发工具,如果VC的话把student,h文件放在项目文件夹下,如果是其他工具,把头文件放在include搜索路径里面就行了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我的眉毛中部有几根会往上翘有什么说法吗? 儿童补铁的药哪种效果最好? 儿童补铁口服液哪个牌子好 台湾的共享单车有人用过吗,想知道他们用的哪款车坐垫用的是哪家的,和... city bike和roadbike区别 报春花怎样扦播 电脑连接上无线网络不能上qq为什么电脑连上无线网却只能登qq 能上网但是不能上qq,是什么原因? 金山网盾、金山网镖、金山毒霸、金山清理专家四个软件哪个防护好一点... 上网的时候,金山网镖、金山网盾和金山毒霸这三个程序需要都开着吗? 医生警察消防员可以归类为什么职业? 房贷到期后需要办理什么手续 请问vc++6.0环境下怎么实现多文件c程序的编译和连接 基层政法机关干警,社会工作经历与专业相关且满三年什么意思 多文件C程序怎么编译连接及运行 辅警的工资都那么低,为什么依旧有很多人都愿意当辅警? VC++6.0如何实现多文件程序 云南警官学院 社会工作专业怎么样?这个专业学法律吗? 公安是社会工作者吗 广西警察学院社会工作类穿警服吗 社会工作者能当警察吗? 已经出来社会工作还能考警察吗? 社会工作者能当警察吗 我是警察 考社会工作师有用吗 为什么说社区警务是社区警察更是社会工作者 广西警察学院社会工作专业是什么 古人读书名言 名人读书格言有哪些 让人多读书的名言警句 劝人认真读书的名言警句 支付宝房抵贷显示已受理可以取消吗 关于中国人民*大学的专业,我想知道涉外警警务就业的主要工作是什么?就是当口译笔译吗?在那里工作? c语言源程序包含多个源文件时,每个源文件都要加include,包含头文件吗 怎样做好一名新时代的人民*――写在母校山西警院三十周年之际 一个C语言程序由一个或多个源程序文件组成,在一个源程序文件中又包含若干个函数(其中有一个main函数) 为什么支付宝房抵贷随便都能通过审核? 湖南*职业学院的社会工作专业好吗?就业难不?进学校后可以马上换专业吗?女生学什么专业好?谢谢 求解c语言工程问题,即如何进行多源代码文件程序的编译 广东警官学院的社会工作系好吗,毕业后的就业方向是什么,容易就业不?工资大概是多少? vc多文件是怎样的 C语言中多文件程序的问题,在线等 研究生学历,再加上8年社会工作经验能授什么警衔 源文件是什么?源程序是什么?有什么区别? 你眼中的社会工作是什么? 把《村晚》这首诗改成短文? 关于C语言多文件程序的联编 有什么职业与*、类似的吗?我希望找一份类似社会工作者的职业,既可以帮助到别人,也可以养活自己。 古诗。村晚。改成短文 C语言中怎样实现一个源程序由两个源文件组成 请问当户籍警察 应该学习什么专业