C ++在头文件中定义类,并在源文件中实现其成员

时间:2013-11-05 08:32:25

标签: c++

当我在vs2010中构建此项目时,会发生错误:

  1. 语法错误:缺少';'在标识符'b'之前
  2. 错误C4430:缺少类型说明符 - 假定为int。注意:C ++可以 不支持default-int
  3. 错误C4430:缺少类型说明符 - 假定为int。注意: C ++不支持default-int
  4. 错误C2065:'b':未声明的标识符

    #ifndef _B_H
    #define _B_H
    
    #include <string>
    
    class B
    {
    public:
        B();
        ~B();
        void showfunc();
    
        string b;
    };
    
    #endif
    
    /***************************/
    // B.cpp
    #include <iostream>
    #include <string>
    #include "B.h"
    using namespace std;
    B::B()
    {
    }
    void B::showfunc()
    {
     cout<<b<<endl;
    }
    /**************************************/
    // main.cpp
    #include <iostream>
    // #include "B.h"
    using namespace std;
    void main()
    { 
    }
    
  5. 请帮助我!

2 个答案:

答案 0 :(得分:1)

string位于std命名空间中。你需要

std::string b; 

即使在实施文件中,您也应该是be careful with using namespace std

另请注意,void main()不是C ++中main的标准签名之一。你需要

int main() { ...

答案 1 :(得分:0)

std添加到字符串

std::string b;