类外的成员函数定义

ska*_*ska 4 c++ declaration function definition

是否可以在类声明之外定义函数或方法?如:

class A 
{
    int foo;
    A (): foo (10) {}
}

int A::bar () 
{
    return foo;
}        
Run Code Online (Sandbox Code Playgroud)

Val*_*ity 5

可以在类之外定义但不声明方法,类似于在 C 中定义函数原型然后稍后定义它们的方式,即:

class A 
{
    int foo;
    A (): foo (10) {}
    int bar();
}

// inline only used if function is defined in header
inline int A::bar () { return foo; }   
Run Code Online (Sandbox Code Playgroud)

  • @ Rakete1111 不。否则你会得到_multiple definition_ 错误。 (2认同)