问题:希望把一系列的成员函数或者独立函数声明为内联函数,但又不想在头文件的类的定义中定义他们,即保持声明和实现分离。
方案:
创建一个后缀为.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_);
}
没有评论:
发表评论