大约14年前,我编写了一些C++。我熟悉.NET等与我一起工作的大多数新技术。为什么在创建新的C++类时创建了两个文件(.h和.cpp)?
现在,我正在编写一个simlpe电话列表Windows应用程序,我想使它成为C++,这样我可以更好地查看C#和C++的区别。
让我说,我已经注意到了一个区别! Hehehe ...因此,这些区别之一是,当从Visual Studio模板创建一个新的C++类时,它不仅会创建.cpp类文件,还会创建一个头文件。
这是为什么?为什么要为一个类创建一个class1.h和一个class1.cpp文件?
我记得头文件可能是函数和对象的库,如果我们可以这样说,为了将来的重用,我记得没有错吗?
问题
- 为什么有两个文件(.H和.cpp)添加一个新的C++类时产生的?
- 我应该在头文件中定义成员并在cpp文件中定义函数核心吗?
- 如果不是2,那么这个特定场景中的头文件是什么?
编辑#1
然后应我的代码是这样的?
// Customer.h header file
ref class Customer {
private:
char* _number, _name;
long _phoneNumber;
public:
char[] get_number();
void set_number(char* number);
char[] get_name();
void set_name(char* name);
long get_phoneNumber();
void set_phoneNumber(long phoneNumber);
void set_name(char* name);
}
然后:
// Customer.cpp
#include <Customer.h>
char[] Customer::get_number() {
return _number;
}
void Customer::set_number(char* number) {
if (number != null && sizeof(number) < 1) return;
_number = number;
}
// And the other members here...
现在我知道,有大部分是很多在我的代码错误。如果你帮我纠正错误,我会很高兴,这样我就可以提高我的C++技能。
感谢您帮助我找出答案。
这是C++/CLI - 你想使用本机C++还是托管C++代码?有很大的不同。 – 2010-12-06 20:31:42
@Steve:谢谢你向我指出这一点。其实我不能说。我猜想原生C++对我来说更适合在C++中充分使用,这样我就可以快速启动并运行,从而有效地开发应用程序,对吗?还是值得的? – 2010-12-06 20:43:14