C++/Доступ к элементам объектов классов

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Операторы доступа к элементам объектов классов

В C++, в отличие от Java и C#, имеется несколько операторов доступа к элементам объектов/экземпляров классов, которые применяются в зависимости от типа объекта (статического или динамического).

  • При создании статического объекта, для доступа к его методам и свойствам, используется операция прямого обращения — «.» (символ точки). Точка — оператор получения доступа к доступным полям и методам статического объекта.
  • Если же память для объекта выделяется посредством указателя, то для доступа к его методам и свойствам используется оператор косвенного обращения — «->» (стрелочка).
CodeDescriptionTitle
x->set_name(name); Обращение к методу set_name динамического объекта x (указателя). Косвенное (через указатель) обращение к полям и методам класса через указатель (динамический объект).
x.set_name(foo); Обращение к полям и методам класса через статический объект

Примеры

Есть класс Students:

class Students {
	private:
		string name, surname;
	public:
		void set_name(string _name, string _surname) {
			name = _name;
			surname = _surname;
		}
};

Задание и сохранение имени и фамилии в объект класса Students через указатель x на объект класса:

void main() {
	Students x = new Students();
	x->set_name("George", "Smith");
}

Задание и сохранение имени и фамилии в объект класса Students, где x — объект класса:

void main() {
	Students x();
        x.set_name("George", "Smith");
}
Это незаконченная статья. Вы можете помочь, исправив и дополнив её.
Шаблон:C plus plus