| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 973 人关注过本帖
标题:头文件问题
只看楼主 加入收藏
zfan85
Rank: 1
等 级:新手上路
帖 子:25
专家分:8
注 册:2010-8-30
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:5 
头文件问题
#ifndef busDate_H
#define busDate_H        

#include <vector>
#include "date.h"

#define DLLEXPORT __declspec(dllexport)

using namespace std;

typedef string HolCtr;
typedef vector<HolCtr> HolCtrs;

enum RollConv {
    NO_ROLL,        // no roll
    ROLL_FWD,        // roll forward until business day
    ROLL_BACK,        // roll backward until business day
    MOD_FOLLOW,        // while not month-end, roll forward until business day
                    //           otherwise, roll backwise until business day
};

class DLLEXPORT busDate : public date
{
protected:
    RollConv        roll;        // roll convention
    HolCtrs            holCtrs;    // holiday centers

public:
    // Constructors
    busDate(julianDate jDate = BAD_JDATE, RollConv rc = NO_ROLL, const HolCtrs* pHCs = NULL);
    busDate(int year, int month, int day, RollConv rc = NO_ROLL, const HolCtrs* pHCs = NULL);
    busDate(const date&, RollConv rc = NO_ROLL, const HolCtrs* pHCs = NULL);
    busDate(const busDate&);

    // Destructor
    virtual ~busDate();

    // Assignment
    busDate& operator=(const busDate& bDt);
    busDate& operator=(const julianDate& jDt);

    // Operators
    virtual void operator+=(int days);
    virtual void operator-=(int days);
    busDate& operator++();        // pre-increment
    busDate operator++(int);    // post-increment
    busDate& operator--();        // pre-decrement
    busDate operator--(int);    // post-decrement

    friend DLLEXPORT busDate operator+(const busDate& bDate, int n);
    friend DLLEXPORT busDate operator-(const busDate& bDate, int n);


    // Basic Operations
    virtual void rollBusDate();
    virtual void setYMD(int year, int month, int day);
    void addDays(int days);
    virtual void addMonths(int months);
    virtual void addYears(int years);
    virtual void setEOM();
    virtual bool isMonthEnd() const;
    long numBusDays(const busDate& endBD) const;

    // Roll convention operations
    RollConv getRollConv() const { return roll; }
    void setRollConv(RollConv);

    // Holiday center operations
    void setHolCtrs(const HolCtrs&);
    void delHolCtrs();
    const HolCtrs& getHolCtrs() const { return holCtrs; }

    // Other functions
    static bool isBusDay(julianDate jDt, const HolCtrs& hCs);
    static bool isMonthEnd(julianDate jDt, const HolCtrs& hCs);


    // Static functions to manipulate holidays
    static int initHolidays();
    static bool isHoliday(julianDate jDt, const HolCtrs& hCs);
    static int loadHolidays(const string fileName);
    static int addHoliday(const HolCtr hC, julianDate jholiday);
    static void clearHolidays();

};

#endif

我有上面的头文件,编译说不成功,好像是因为 我在 typedef string HolCtr; typedef vector<HolCtr> HolCtrs中用了 string;
我在前面加了 using namespace std 后 好像就可以了 ,但是有没有什么办法 不改 头文件, 不加std 解决?
搜索更多相关主题的帖子: 文件 
2010-11-28 15:15
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:20 
你引用了std名字空间的类,当然需要说明了,可以单一声明,using std:string;

离恨恰如春草,更行更远还生。
2010-11-28 15:33
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
不过你好像没有加string头文件吧,这也不行啊。using std::string;

离恨恰如春草,更行更远还生。
2010-11-28 15:38
zfan85
Rank: 1
等 级:新手上路
帖 子:25
专家分:8
注 册:2010-8-30
收藏
得分:0 
能有办法 不改头文件么?
2010-11-28 15:52
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
你data.h里包含哪些头文件。你别改头文件用using std::string试下,貌似你不加编译器有时会自动加的,

离恨恰如春草,更行更远还生。
2010-11-28 16:12
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
呃。这个可以的直接用using std::string;不添加string文件,在头文件中只是用string定义了变量或返回值什么的就行,string的实现在string中,要用到这个类的方法时就需要string文件了。

离恨恰如春草,更行更远还生。
2010-11-28 16:28
快速回复:头文件问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030666 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved