Определение класса
Определение класса должно располагаться до main.
Начнём с простых примеров:
class soldier
{
public:
int x,y;
int ammo;
};
В данном примере определение класса почти идентично определению структур. Есть только два отличия: в заголовке вместо ключевого слово struct стоит class. Второе - в первой строке определения класса стоит public с двоеточием.
Сначала создадим переменную типа soldier.
soldier a;
a.x = 3;
a.y = 4;
a.ammo = 5;
Здесь мы создали объект a класса soldier. Совсем никаких отличий от структурных переменных.
В данном случае объекты (переменные классов) можно использовать также как и структурные переменные.
Спецификаторы доступа public и private
По умолчанию в структурах используется спецификатор доступа public, а в классах private.
Рассмотрим примеры без спецификаторов:
Запись - структура
struct soldier
{
int x,y;
};
Запись - класс
class soldier
{
int x,y;
};
Здесь между структурами и классами есть важное различие. Вот как на самом деле выглядят предыдущие определения:
struct soldier
{
public:
int x,y;
};
class soldier
{
private:
int x,y;
};
Компилятор автоматически вставляет public и private. В структурах по умолчанию используется public, в классах по умолчанию используется private.