C ++我应该包含一个标题?

时间:2014-03-07 15:54:56

标签: c++

我是C ++的新手,我在教科书中找到了以下代码:

enter image description here

我看到他们没有使用标题;我正在使用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");
}

哪一个是正确的?在这种情况下使用或不使用标题?不这样做可能会有什么缺点。

由于

3 个答案:

答案 0 :(得分:2)

您发现的头文件不是必需的。头文件的主要好处是更大的项目的编译时间更快。随着项目的增长,不需要在编译时重新编译未更改的CPP文件。

除了你获得一些可读性点和总体之外,这是惯例。您应该使用它们,除非您只编写一次性使用小程序。

答案 1 :(得分:0)

最好将所有库都包含在每个文件中。 这提高了代码的可读性,因为文件中使用的所有内容都显示在顶部。

答案 2 :(得分:0)

大多数程序都分为几个源文件,以便提供更易于管理的源代码块。在C ++的情况下,通常有一个源文件定义一个类(或一组密切相关的类)。这也用于隐藏实现细节。要告诉其他源文件该类的接口是什么(其布局,提供的方法以及此类详细信息),这些定义将放在头文件中。这个头文件在定义文件中都是#include d(以便编译器同时检查)和使用该类的每个其他源文件。

您当然可以将程序编写为一个大文件,甚至可以使用它们将手动类的定义手动复制到每个文件中。为什么每一个都是一个坏主意都留作练习。

另一个好处是,如果类定义没有改变,则不必重新编译其定义文件,从而加速构建。