Классы

Язык C++ / Классы

Классы в С++ определяются ключевым словом class. Они представляют собой форму структуры, у которой спецификация доступа по умолчанию – private, то есть

class s { ...}

есть сокращенная запись

struct s { private: ...}

Хотя такое определение класса и справедливо, базовым в языке С++ является понятие класса. В С++ принято считать, что структура struct – это просто класс, все члены которого общие, то есть

struct s { ...};

есть просто сокращенная запись

class s { public: ...}

Структуры необходимо использовать в тех случаях, когда сокрытие данных неуместно.
В качестве иллюстрации, представим абстрактный тип данных для комплексных чисел с помощью структуры и с помощью класса. Единственное отличие — в использовании ключевых слов: private и public.
С использованием структуры:

struct complex
{
  void assign(double r, double i);
  void print() { cout << real << "+"<< imag << "i"; }
private:
  double real;
  double imag;
};
void complex :: assign(double r, double i=0.0)
{
  real = r;
  imag = i;
}

С использованием структуры:

class complex
{
  double real;
  double imag;
public:
  void assign(double r, double i);
  void print() { cout << real << "+"<< imag << "i"; }
};
void complex :: assign(double r, double i=0.0)
{
  real = r;
  imag = i;
}

Назад

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *