在 class 中只定义 inline 和非成员函数,将所有成员函数的定义部分放在 class 之外。示例如下:
class MyClass{
public:
void func1(); //声明函数
void func2() {
//内联函数定义
}
static void func3(); //声明静态函数
};
inline void MyClass::func1(){
// 函数定义
}
void MyClass::func3(){
//静态函数定义
}
在示例中,func1() 和 func3() 的定义部分被放在 class 的外部,而 func2() 被定义为内联函数。这就使得 MyClass 的定义符合 AUTOSAR C++ Rule 3-1-5。