C ++ - Частные переменные в классах

Я пытаюсь создать класс в отдельных файлах с частными переменными. На данный момент мой код классов:

В TestClass.h

#ifndef TESTCLASS_H
#define TESTCLASS_H
#include <string>
using namespace std;

class TestClass
{
    private:
        string hi;
    public:
        TestClass(string x);
        void set(string x);
        void print(int x);
};

#endif

В TestClass.cpp

#include "TestClass.h"
#include <iostream>
#include <string>
using namespace std;

TestClass::TestClass(string x)
{
    cout << "constuct " << x << endl;
}

void set(string x){
    hi = x;
}

void print(int x){
    if(x == 2)
        cout << hi << " x = two\n";
    else if(x < -10)
        cout << hi << " x < -10\n";
    else if(x >= 10)
        cout << hi << " x >= 10\n";
    else
        cout << hi << " x = " << x << endl;
}

Когда я пытаюсь создать Code :: Blocks, он говорит:

  • ... \ TestClass.cpp: In function 'void set (std :: string)':
  • ... \ TestClass.cpp: 12: ошибка: 'привет' не был объявлен в этой области
  • ... \ TestClass.cpp: в функции 'void print (int) ':
  • ... \ TestClass.cpp: 17: ошибка:' привет 'не был объявлен в этой области
  • ... \ TestClass.cpp: 19: ошибка:' привет 'не было объявлен в этой области
  • ... \ TestClass.cpp: 21: error: 'hi' не был объявлен в этой области
  • ... \ TestClass.cpp: 23: error: 'hi' не был объявлен в эта область

Но когда я ее запускаю (и не собираю), все работает.

9
задан Mr. Giggums 10 April 2011 в 16:34
поделиться