是否没有必要定义类成员函数?

jos*_*osh 2 c++

以下代码编译并运行完美,

#include <iostream>

class sam {
    public:
        void func1();
        int func2();
};

int main() {
    sam s;
}
Run Code Online (Sandbox Code Playgroud)

是否因缺少类成员定义而产生错误?

Phi*_*ipp 8

如果不调用成员函数,则不必定义它们.即使你调用它们,编译器也不会抱怨,因为它们可以在其他编译单元中定义.只有链接器才会抱怨.不定义函数是被接受的并且是常见的,以强制出现不期望的行为的错误(例如,用于防止复制).