回 帖 发 新 帖 刷新版面

主题:求救:又有一个问题,关于类

各位高手好,我刚学c++语言不久,,可是问题一大堆,,恳切希望大家帮我想想办法,谢谢
问题是这样的:
我建立了一个projet然后在header files输入
class Tdate1
{
public:
    Tdate1(int y,int m,int d);
    ~Tdate1();
    void Print();
private:
    int year,month,day;
};
Tdate::Tdate1(int y,int m,int d)
{
    year=y;
    month=m;
    day=d;
    cout<<"constructor called.\n";
}
Tdate1::~Tdate1()
{
    cout<<"Destructor callde.\n";
}
存为date1.h

我编译时,提示不能编译,后来我不管它,
继续在source 输入
#include<iostream.h>
#include<date1.h>
void main()
{
    Tdate1 taday(1998,4,9),tomorrow(1998,4,10);
    cout<<"today is";
    taday.Print();
    cout<<"tomorrow is";

   tomorrow.Print(); 
}


结果总提示错误说date1.h文件不存在,,
 后来我换了方法:先建立头文件,和原文件,再建立project.
在project添加刚才建立的头文件和原文件,可是还是提示同样的错误,,,
急死我了,,我也不知道怎么回事,,真的恳请各位高手帮忙

回复列表 (共4个回复)

沙发

#include<date1.h>
请改为:
#include "date1.h"
原因:他们之见有查找范围的区别!前者一般用来查找系统的类,后者一般用来包含自己定义的类.

板凳

我试了一下,正如您说的。不好意思,再麻烦一下,为什么,头文件不能编译呀?
编译的时候提示如下:cannot compile the file:C:\*******\*****\date1.h.  no compile tools is associated with the file extension.
 如果头文件不能编译的话,查找错误就比较麻烦了,,请再慷慨帮忙一下了

3 楼

首先头文件是不能被单独编译的。如果要进行编译头文件你的工程中应当有一个相应的cpp文件   

然后就是包含的方法应该改成
#include "date1.h"

你首先简历console工程,然后选择新建一个H文件,输入date1.h,然后再输入你的头文件信息。然后在你的工程中间调用。
如果还是出现头文件错误,看看你包含的位置是否正确,你在你的cpp中间进行编译就可以发现你的头文件是否有错误了。

4 楼


就是!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册