我知道,按定义,内联成员函数应该放在标题中。但是,如果不可能将函数的实现放到标题中怎么办?让我们来考虑这种情况:
文件啊
#pragma once
#include "B.h"
class A{
B b;
};
文件Bh
#pragma once
class A; //forward declaration
class B{
inline A getA();
};
由于包含了通知,我不得不将实施getA
纳入
丙型肝炎
#include "B.h"
#include "A.h"
inline A B::getA(){
return A();
}
编译器会内联getA
吗?如果是这样,哪个内联关键字是有效的关键字(标题中的关键字还是.cpp文件中的关键字)?还有另一种方法可以将内联成员函数的定义放入其.cpp文件中吗?