C语言中有关类的问题~~

如果我们要定义一个类,通常把这个类的声明放在一个头文件里,比如someclass.h,而把这个类的实现放在一个源文件里,比如someclass.cpp,我们会在somec... 如果我们要定义一个类,通常把这个类的声明放在一个头文件里,比如someclass.
h, 而把这个类的实现放在一个源文件里,比如someclass.cpp, 我
们会在someclass.cpp 的开头部分添加代码#include “someclass.h”。如
果要使用这个类,则在需要这个类的文件开始添加代码#include “someclass.
h”即可,而不是#include “someclass.cpp”。查询相关材料,回答
为什么这样做即可?
展开
 我来答
匿名用户
2011-04-01
展开全部
这个是编译器做的,没有什么特别的道理,只是C++规范这样规定了,然后编译器实现了,只要这样做就能通过编译。
实际上其他很多编程语言是没有头文件这种说法,有各自的规范,所以头文件、源文件这种模式并不是编译必然的模式
楼上是LZ的老师吗?汗一个。不过我觉得这个事情资料上说的都不确切,只有实际进行过软件开发、接触了多种编程语言后才能比较清楚的体会是怎么一种情况,与其一开始理解得稀里糊涂,不如一次搞清楚比较好。
这个编译模式有很重的历史发展痕迹。C++是从C语言发展起来的,C语言诞生得比较早,一些做法并不算合理,它的编译方式是顺着代码文件自上向下编译,如果所用的函数在使用前未声明,编译器就不知道这个函数是做什么用的,也不知道该怎么处理,这就需要在函数使用前先声明。当工程复杂文件数量多时,同一个函数可能要反复多次声明,这就很麻烦了。C++对此进行了改良,将声明都集中在头文件里,只要引入头文件就相当于声明了这些函数或类,而且头文件可以嵌套使用,这就使代码更简洁,更适合编程人员阅读和维护。而顺着头文件指引可以最终找到源文件中函数和类的最后定义,这就是编译器去做的事了。
这只是编译的一种模式,并不是所有程序语言都会遵循这种规范。
同样,可以在类的声明的同时就把定义也写在类体里,这样就完全用不到源文件了。而include cpp这种事,就算编译器不报错也不能这样去做,这不符合规范。至于为什么一定要遵守规范,你想想你去维护别人写的代码,有好几百个文件,里面乱七八糟什么样的写法都有,你是想硬着头皮去看懂代码呢?还是干脆自己从头再写一个呢?
相当多的规定并不是对于编译或者程序所执行的功能有何助益,关键是方便编程人员自己。我碰到过很多人问我为什么写代码要缩进、要留空白,不留难道程序就不能运行了吗?我只能说,它可以运行,只是当软件开发时碰到的是多人持续多年的团队性合作,书写不规范只是给自己和后续的维护人员找麻烦,所以会写出结果正确的代码并不是全部,能够让别人读懂更为重要。
ghos丶t
2011-04-01 · TA获得超过225个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:0
展开全部
没听说过c语言里面有类,类是c++的东西。
和c一样,c++也需要向前引用声明,c++的向前引用声明就是 XXX.h
所以在XXX.cpp中 要#include "XXX.h"
理论上,.h和.cpp 的文件最后整合到一起,所以你把一个类的 声明 实现
全部写在一个XXX.cpp中
然后#include “XXX.cpp” 也是可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-01
展开全部
我是徐Guo民老师。
知道什么是 。
知道做作业 是学生自己应当完成的学习任务;自己动脑完成作业 ,才能学好知识。
有的责任感。感到自己的作业自己做,理所应当。愿意依靠自己的努力取得真实的好成绩。
自己的作业 自己做,不依赖父母,不依靠网络,不靠别人帮忙,不抄同学作业 。
不会做的作业 可向别人请教,然后自己完成。
作为一名老师,欢迎你来亲自来问我。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-01
展开全部
:打印,显示在屏幕上
int:整型
values:值

其他C语言中的关键字
auto :声明自动变量 一般不使用
double :声明双精度变量或函数
int: 声明整型变量或函数
struct:声明结构体变量或函数
break:跳出当前循环
else :条件语句否定分支(与 if 连用)
long :声明长整型变量或函数
switch :用于开关语句
case:开关语句分支
enum :声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
char :声明字符型变量或函数
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return :子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const :声明只读变量
float:声明浮点型变量或函数
short :声明短整型变量或函数
unsigned:声明无符号类型变量或函数
continue:结束当前循环,开始下一轮循环
for:一种循环语句(可意会不可言传)
signed:生命有符号类型变量或函数
void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
default:开关语句中的“其他”分支
goto:无条件跳转语句
sizeof:计算数据类型长度
volatile:说明变量在程序执行中可被隐含地改变
do :循环语句的循环体
while :循环语句的循环条件
static :声明静态变量
if:条件语句

最后祝楼主学习编程一帆风顺,呵呵,有事你也可问我:40375250
我会尽全力帮你的,加油!
另外,站长团上有产品团购,便宜有保证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西部愚人D3
2011-04-01
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
我原来也是靳老师的学生!
他给我们推荐看这个视频,看过之后就会做了!
http://video.sina.com.cn/v/b/42902040-1573653211.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-01
展开全部
我是靳老师,课程作业要自己完成,查询资料后解答,问别人可以但是不提倡
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式