在类外部定义静态函数并访问静态值.h和.cc文件

tho*_*903 7 c++ static class

 //foo.h
 class Foo 
  {
    private:
      static int number;

    public: 
      static int bar();
  };

//foo.cc
#include "foo.h"

 int Foo::bar() 
 {
   return Foo::number;
 }
Run Code Online (Sandbox Code Playgroud)

这不起作用.我想在类定义之外定义静态函数并访问静态值.

undefined reference to `Foo::number'
Run Code Online (Sandbox Code Playgroud)

Alo*_*ave 8

您刚刚声明了定义它所需的静态成员.在cpp文件中添加它.

int Foo::number = 0;
Run Code Online (Sandbox Code Playgroud)

这应该是一个很好的阅读:

定义和声明之间有什么区别?