2007年3月14日星期三

c++食谱第二章部分笔记之四

食谱2.5 #include 内联文件
问题:希望把一系列的成员函数或者独立函数声明为内联函数,但又不想在头文件的类的定义中定义他们,即保持声明和实现分离。
方案:
创建一个后缀为.inl的文件,并在头文件的后面#include该文件即可,这虽等价于在头文件中定义函数,但是却使声明和定义分离了。


//Value.h
#ifndef VALUE_H_
#define VALUE_H_
#include<string>
class Value{
public:
Value(const std::string& val):val_(val){}
std::string getVal() const;
private:
std::string val_;
};
#include "Value.inl"
#endif
//Value.inl
inline std::string Value::getVal() const{
return(val_);
}

没有评论: