我是C ++的新手,我在教科书中找到了以下代码:
我看到他们没有使用标题;我正在使用Visual C ++,他们给我的结构是一个标题所以我编写了以下内容:
//parts.h
#pragma once
class parts
{
private:
int idModel;
int idPart;
float cost;
public:
parts(void);
virtual ~parts(void);
void setPart(int,int np,float);
void showParts();
};
//parts.cpp
#include <iostream>
#include "parts.h"
using namespace std;
parts::parts(void)
{
}
parts::~parts(void)
{
}
void parts::setPart(int nm, int np, float c)
{
idModel=nm;
idPart=np;
cost=c;
}
void parts::showParts()
{
cout<<"Model, "<<idModel;
cout<<" part "<<idPart;
cout<<" cost\n "<<cost;
}
//main program
#include <iostream>
#include "parts.h"
using namespace std;
int main(void)
{
parts p;
p.setPart(569,10,55.55);
p.showParts();
system("PAUSE");
}
哪一个是正确的?在这种情况下使用或不使用标题?不这样做可能会有什么缺点。
由于
答案 0 :(得分:2)
您发现的头文件不是必需的。头文件的主要好处是更大的项目的编译时间更快。随着项目的增长,不需要在编译时重新编译未更改的CPP文件。
除了你获得一些可读性点和总体之外,这是惯例。您应该使用它们,除非您只编写一次性使用小程序。
答案 1 :(得分:0)
最好将所有库都包含在每个文件中。 这提高了代码的可读性,因为文件中使用的所有内容都显示在顶部。
答案 2 :(得分:0)
大多数程序都分为几个源文件,以便提供更易于管理的源代码块。在C ++的情况下,通常有一个源文件定义一个类(或一组密切相关的类)。这也用于隐藏实现细节。要告诉其他源文件该类的接口是什么(其布局,提供的方法以及此类详细信息),这些定义将放在头文件中。这个头文件在定义文件中都是#include
d(以便编译器同时检查)和使用该类的每个其他源文件。
您当然可以将程序编写为一个大文件,甚至可以使用它们将手动类的定义手动复制到每个文件中。为什么每一个都是一个坏主意都留作练习。
另一个好处是,如果类定义没有改变,则不必重新编译其定义文件,从而加速构建。