我是C++的新手,很难理解获得创建和编译的类对象文件的步骤。C++什么时候编译类对象文件?
比方说,我创建3个文件:1.类的头文件2.类CPP文件(成员函数定义本)3.主要CPP文件
/* 当运行主CPP文件,其中包含的类头文件(比如说“#include class.h”),类cpp文件何时被编译,目标文件是否已创建并链接?
我有困难的原因是,从编译器的角度来看,当它看到主cpp文件时,只有头定义,没有成员函数定义。但是,即使在类头文件中,也没有包含类cpp文件。如果编译器在类头文件和主cpp文件中没有引用时,它如何知道运行类cpp文件? */
让我澄清我的问题。 //也许我说了一些我甚至不理解的东西哈哈。
所以,基本上我试图在说'main.cpp'文件中运行主函数。这个'main.cpp'文件包含'class.h'头文件(包括“class.h”)。当'class.h'中没有声明成员函数时,编译器如何执行头文件中定义的函数?我所有的成员函数声明都在'class.cpp'中,它不包含在'class.h'或'main.cpp'中。
在C++中没有像“类对象文件”AFAIK这样的东西,至少不是特别的。另外,你不“运行cpp文件”。为了理解你的问题,你如何用两个“cpp”文件编译一个项目?因为它们都是相同的,所以如果有类,并不重要,你可以有一个只有一个函数定义的'cpp'。 – luk32 2015-03-02 08:56:39
@ luk32例如:Rectangle.h包含在Rectangle.cpp中,编译Rectangle.cpp并创建Rectangle.obj。我认为这是OP所指的“类对象文件”。 – 2015-03-02 09:00:17
@GrinNare更新(编辑)你的问题添加该评论,并删除该评论。 – 2015-03-02 09:03:58