4. c++在头文件中进行类的声明,在对应的实现文件中进行类的定义有什么意义? 答案怎么理解。

答:这样可以提高编译效率,因为分开的话只需要编译一次生成对应的.obj文件后,再次应用该类的地方,这个类就不会被再次编译,从而大大提高了效率。

怎么去解释呢。。。其实这是一个面向对象的思想,所谓"提高"的比较对象,应该是直接将方法写到具体函数里的实现方式

h为编译器提供一个索引,连接obj对象和主程序
编译器在编译的时候,如果需要,则去查找h,找到了h,再找对应的obj,就可以找到类的方法了

但是如果直接写入到同一个文件(例如hpp),主程序没有索引,也不清楚具体的类实现了没有,只能一次次重复的编译相同的代码,这样实际上没有把这个类该有的东西抽象出来

赶着去吃饭。。。粗略回答,欢迎追问追问

中午吃什么啊?

追答

。。。真功夫的香干炒肉。

温馨提示:内容为网友见解,仅供参考
无其他回答

C++在头文件中定义了一个类。声明了成员函数。在另一个cpp文件中定义了...
在 main 中使用 这个类的时候并不需要 使用 class.cpp 文件里的定义,而实际是在使用 class.h 里的声明。不信的话你在 class.cpp 里面加一个新类 teacher 的定义,但在 class.h 里不声明,然后你看看在main.cpp 里能不能用 teacher 类。

如何在C++头文件中定义函数,然后在源文件中使用
一般为了安全性,只在头文件中进行声明,而不定义,在其它文件中进行定义。给你个例子。因为我学了才一年,所以没法给你说过多的理论,给你两个例子你好好体会把。简单例子实现输出两个数据。\/*在text。h头文件中进行声明*\/ include using namespace std;void display(int,int);\/*使用该函数来实现...

C++中如果要用的类定义在使用之后,该怎样声明?
这个声明,有时称为前向声明(forward declaraton),在声明之后、定义之前,类A是一个不完全类型(incompete type),即已知A是一个类型,但不知道包含哪些成员。不完全类型(incomplete type)只能以有限方式使用。不能定义该类型的对象。不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是...

C++调用类头文件为什么只需要include声明部分而不需要类的定义部分
1. 编写代码,2. 编译器进行编译,compile 3. 编译器进行连接。4. 执行。由于C++语言支持多文件工程。需要经过编译和连接的过程。打个比方,你要建造一架飞机,需要发动机,机翼,机身,尾翼,起落架。你可以把这几个部分交给专门的厂商去制作,这就是编译过程。这么多零件交给你,你只需要组装起来就...

c++在头文件中声明一个类,但是在主函数定义该类的变量时却出错了...
因为实现和使用在一个文件中,这里不允许用值引用(防止循环定义),可以用指针代替。写成 clock *b = new clock();

如何在C++头文件中定义函数,然后在源文件中使用
\/*在text。h头文件中进行声明*\/ include<iostream> using namespace std;void display(int,int);\/*使用该函数来实现输出*\/ \/*在texxt。cpp中进行定义,注意第一行,很重要因为不是c++标准库中的头文件,所以不能用<>,而要用""括起头文件*\/ include "text.h"void display(int x,int y){ ...

c++中头文件声明多个类,这些类的成员函数的实现为什么不能放在同一...
一个类的声明与实现不需要单独放在一个源文件里,你之所以出错,很有可能是文件建立错了,按你的想法,第一步:建立头文件,文件类型为.h,在头文件里声明这三个类,第二步,建立一个CPP文件,将类的定义写进这个CPP文件中,第三步,再建立一个CPP文件,写上main()函数,此时你的注意,你的预...

C++中对自定义函数的声明,放main内还是外,在含类的程序中,貌似只能在...
一般放在函数外,调用之前。放在哪跟有类没类没有直接联系。实践中一般将函数声明、类的定义放在头文件中。而定义放在单独的源文件(.cpp)。如果有哪个源文件中用到了头文件中声明的函数或类,只需#include “***.h”将头文件包含进来。

C++ 在源文件中添加类,然后在“类.h”里声明string类型会是“未定义...
不用那样,“类.h”是C语言字符串处理用的头文件,C++包含#include <iostream>,再写using namespace std;就可以了,要用流输入输出字符串的话再包含一个"string",而不是"string.h"就行!

c++编程中,类的声明文件和实现文件为什么都要包含标准库?
你可以试一下,实现文件不含 #include <iostream>。iostream -- 输入输出流。通常 因为是分开的2个文件,分开编译时,如果 里面 遇到 与输入输出 有关 函数 时, 需要 函数原型, 这时需要 头文件。 一般 标准头文件 有 宏保护 指令, 重复包含了, 它会 只包含一次,忽略 多余的 #include...

相似回答