АРХИВ ЗАПИСЕЙ  ●  УЧИМ C++

Подобно статическим полям объявляются и статические методы. Однако по сравнению с обычными методами класса, на статические, в силу объектив­ных причин, накладываются существенные ограничения. Так, статические методы напрямую (т.е. не через аргументы) могут ссылаться на статические члены класса.

Хотя каждый объект класса имеет одинаковый набор полей и методов, значения полей у каждого объекта свои, а результат вызова методов в общем слу­чае зависит от того, из какого объекта метод вызывается. На самом деле, это не всегда так. Существуют особые члены класса, которые называют статиче­скими. Статический член является общим для всех объектов этого класса. Необходимость в таких статических членах продиктована рядом практических соображений, и их использование во многих случаях оправдано.

Члены класса могут быть закрытыми и открытыми. По умолчанию члены класса считаются закрытыми. Поэтому если для членов класса явно не указан спецификатор уровня доступа, они интерпретируются как закрытые. Обычно класс содержит как от­ крытые, так и закрытые члены. Под членами, как и ранее, подразумеваются как поля, так и методы класса. Закрытыми члены класса делают для ограничения несанкционированного внешнего доступа к этим членам, а также для упрощения процесса обработки объектов за счет формального уменьшения количества доступных атрибутов.

Как и в случае внешних функций, при определении методов класса можно отделять прототип метода от непосредственного его описания. Главное отли­чие, по сравнению с внешними функциями, состоит в том, что впоследствии при описании метода класса вне пределов этого класса необходимо явно указывать, к какому классу принадлежит метод. Делается это посредством указания перед именем метода имени класса.

Между внешней (объявленной вне класса) функцией и методом класса существует принципиальное отличие. Заключается оно в том, что метод - это составная часть класса и для его вызова необходимо сначала создать соответствующий объект (исключение составляют статические методы, о которых речь будет идти позже). Кроме того, результат выполнения метода может (и, как правило, так и есть) зависеть от того, из какого объекта он вызывается.

Объекты класса можно создавать сразу при объявлении класса. Более того их может быть несколько. Пример создания двух объектов класса приведен в этой публикации.

Классом называется описание некоторой структуры программы, обладающей набором внутренних переменных — свойств, и функций, имеющих доступ к свойствам — методов. Процесс объединения переменных и методов, в результате которого и получается класс, называется инкапсу­ляцией. Таким образом класс является базовой единицей инкапсуляции. Класс объединяет в себе как данные, так и методы для обработки этих данных. Однако класс — это всего лишь описание, аналогичное описанию типа данных, и недоступное для прямого использования в программе.

Все знают, что квадратное уравнение записывается в виде уравнения \(ax^{2}+bx+c=0\). В школе рассказывают, что квадратное уравнение может иметь или два корня или один или ни одного. (Это все конечно же не правда). Но для школьников этот обман прокатывает. Мы тоже не будет разочаровывать школьников и недавних выпускников, поэтому в программе представлены все эти три случая.

Из аналитической геометрии известно, что прямая на плоскости задается уравнением: \(ax+by+c=0\). Две прямые на плоскости могут пересекаться (одна общая точка), быть параллельными (нет общих точек) или совпадать (бесконечное множество общих точек). Здесь приведен код программы, которая позволяет определить пресекаются ли две заданные прямые на плоскости.

Здесь приведен код программы, определяющей расстояние между двумя точками. Это типичная задача, которую предлагают студентам при изучении программирования. Формула для вычисления расстояния известна из аналитической геометрии.

« 1 2 ... 4 5 6 7 8 ... 23 24 »
Онлайн всего: 2
Гостей: 2
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте