ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 6) онлайн

Простой класс

Наш первый пример содержит класс и два объекта этого класса. Несмотря на свою простоту, он демонстрирует синтаксис и основные черты классов C++. Листинг программы SMALLOBJ приведен ниже.

// smallobj.cpp

// демонстрирует простой небольшой объект #include <iostream> using namespace std;

////////////////////////////////////////////////////

class smallobj    // определение класса

{

private:

  int somedata; // поле класса

public:

void setdata(int d) // метод класса, изменяющий значение поля    { somedata = d; }

void showdata()              // метод класса, отображающий значение поля

   { cout << "Значение поля равно " << somedata << endl;}

};

//////////////////////////////////////////////////////////

int main() {

smallobj s1, s2; // определение двух объектов класса smallobj

s1.setdata(1066);            // вызовы метода setdata()

s2.setdata(1776);

s1.showdata(); // вызовы метода showdata()

s2. showdata(); return 0;

}

Класс smallobj, определенный в этой программе, содержит одно поле данных и два метода. Методы обеспечивают доступ к полю данных класса. Первый из методов присваивает полю значение, а второй метод выводит это значение на экран (возможно, незнакомые термины привели вас в недоумение, но скоро мы раскроем их смысл).

Класс

Рис. 6.1. Класс содержит данные и функции

Объединение данных и функций является стержневой идеей объектно-ори- ентированного программирования. Это проиллюстрировано на рис. 6.1.

 

3