Компоненты класса, объявленные в секции private, называются внутренними. Они доступны только компонентным функциям того же класса и функциям. Компоненты класса, объявленные в секции protected, называются защищенными. Они доступны компонентным функциям не только данного класса, но и его потомков.
Компоненты класса, объявленные в секции public, называются общими. Они доступны за пределами класса в любом месте программы.
Пример класса приведен ниже:
class smallobj
{
private:
int somedata;
public:
void setdata(int c);
void showdata();
};
В классе объявлена внутренняя переменная somedata, доступ к котрой осуществляется только через методы setdata и showdata. Далее приведена реализация данных методов и пример использования:
void smallobj::setdata(int c)
{
somedata=c;
}
void smallobj::showdata()
{
cout<<"somedata="<<somedata<<"\n";
}
int _tmain(int argc, _TCHAR* argv[])
{
smallobj s1,s2;
s1.setdata(1500);
s2.setdata(2000);
s1.showdata();
s2.showdata();
return 0;
}
В программе объявлены две переменные типа smallobj. Доступ к полям и методам класса осуществляется по аналогии обращения к полям структур.
Для инициализации полей при создании объекта используются специальные методы – конструкторы. Имя конструктора совпадает с именем класса и не возвращает параметров. Ниже приведен пример класса с конструктором: