Классы в С++ определяются ключевым словом class. Они представляют собой форму структуры, у которой спецификация доступа по умолчанию – private, то есть
есть сокращенная запись
Хотя такое определение класса и справедливо, базовым в языке С++ является понятие класса. В С++ принято считать, что структура struct – это просто класс, все члены которого общие, то есть
есть просто сокращенная запись
Структуры необходимо использовать в тех случаях, когда сокрытие данных неуместно.
В качестве иллюстрации, представим абстрактный тип данных для комплексных чисел с помощью структуры и с помощью класса. Единственное отличие — в использовании ключевых слов: private и public.
С использованием структуры:
2
3
4
5
6
7
8
9
10
11
12
13
{
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;
}
С использованием класса:
2
3
4
5
6
7
8
9
10
11
12
13
{
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;
}
Чаще всего структуры содержат только поля и не содержат методов.
Если предполагается создание объектов, для которых будут реализованы методы их использования, то целесообразно использовать класс.
Назад: Язык C++
2
3
4
5
6
7
int a;
};
struct B : A {
int b;
};