静态成员的方法

时间:2019-02-16 21:42:50

标签: c++

这是一个简单的示例,可以在类中使用某些静态字段。

#ifndef FOOCLASS_H_
#define FOOCLASS_H_

#include <string>

class FooClass {
 public:
    FooClass();
    virtual ~FooClass();

    std::string getMessage();

    void modifier();
    static void modifier_st();
    static std::string getStaticMessage();
  private:
    static std::string message_static;
    std::string message;
  };

和带有方法实现的cpp文件是

  #include "FooClass.h"

  FooClass::FooClass() {
      message = "";
  }

  FooClass::~FooClass() {
      // TODO Auto-generated destructor stub
  }

  std::string FooClass::getMessage(){
      return "Message is:" + message;
  }

  void FooClass::modifier(){
      message += " sample ";
  }

  void FooClass::modifier_st(){
      message_static += " sample static ";
  }

  std::string FooClass::getStaticMessage(){
      return "Message is:" + message_static;
  }
  #endif /* FOOCLASS_H_ */

我用g ++编译了该代码。

在最后一个方法中出现错误“未定义对`FooClass :: message_static [abi:cxx11]的引用”。

该错误的解释是什么?还有什么其他方法可以开发出最后两种方法?

0 个答案:

没有答案