C++在头文件中定义了一个类。声明了成员函数。在另一个cpp文件中定义了这些成员函数。

那我在main中使用这个类的时候。为什么会自动使用cpp文件中的定义,它怎么知道这个cpp文件中有类的定义

设文件
class.h
class.cpp(第一行 #include "class.h" )
main.cpp (第一行 #include "class.h" )

在 main 中使用 这个类的时候并不需要 使用 class.cpp 文件里的定义,而实际是在使用 class.h 里的声明。不信的话你在 class.cpp 里面加一个新类 teacher 的定义,但在 class.h 里不声明,然后你看看在main.cpp 里能不能用 teacher 类。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-04
源文件内容如下:#include"myclass.h",就在这里知道的。编译器会将myclass.h的内容展开并和这个源文件的内容一起编译本回答被提问者采纳

...声明了成员函数。在另一个cpp文件中定义了这些成员函数。_百度...
main.cpp (第一行 #include "class.h" )在 main 中使用 这个类的时候并不需要 使用 class.cpp 文件里的定义,而实际是在使用 class.h 里的声明。不信的话你在 class.cpp 里面加一个新类 teacher 的定义,但在 class.h 里不声明,然后你看看在main.cpp 里能不能用 teacher 类。

...我在.h中定义了类,在类中声明了构造函数,在.cpp中实现构造函数,编译...
你把.h文件和.cpp文件添加到工程了吗?或者也可直接这样,在你的主程序中,直接 #include"XXXX.cpp",然后使用你定义的该类即可。

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

...文件声明定义?我在头文件中声明,在另一个cpp文件定义,vc报错? 比如...
class person{int a;public:person(int a = 0);\/\/} -->缺分号};head.cpp include "head.h"\/\/引用头文件person::person(int a){\/\/*this.a = a;(*this).a = a;\/\/或this->a = a;}main.cpp include <iostream>#include "head.h"int main(){person p(1);system("pause");retu...

c++怎么使用其他文件的类?
c++ 源代码通常是这样组织的,在头文件(*.h)里声明类定义,在*.cpp里定义成员函数的实现。这样可以在任何一个 *.cpp 里引用任何其他类定义而不会发生重定义问题。确实有一种情况会 #include "template.cpp". 定义模板的时候,同样在 template.h 定义模板类,在 template.cpp 里定义其实现。但是...

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

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

C++中的文件引用问题#include...
一般的形式是:ifnedf A define A endif 可以一个cpp文件对应一个.h文件 .h文件中包括了你这个cpp文件需要对外使用的函数 其他cpp如果需要用你的cpp中的函数 直接引入你所写的h就可以了 引用的顺序 实际上是无所谓的 .h文件中特别要注意 只写声明 不要定义 所以 你对c1.h的写法 是有一定...

...在头文件中要建立某些类的指针,然后在cpp文件中又要建立相应的对象...
这些指针 都是类的成员。 不能直接拿来使用。 所以要在cpp构造对象。为什么这些类,不在类中直接使用对象作为成员。 而用指针做为成员:1.指针空间小。如果有其他 继承该类的类 不需要这些成员,造成空间浪费 2.指针灵活,指向的东西,想释放 就释放,想开辟就开辟。3.成员的开辟顺序 带有可掌握性。

...一个代码文件中用define 了个常量A, 如何在另一个代码文件中用这个A...
如果在.cpp或.c文件中define,则只能在该文件内使用。如果在.h文件中define,则可以在其他文件中#include该.h文件,然后使用define的常量

相似回答