class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

STL

основы

введение
Инструментарий
Проекты в C++
Комментарий
Утверждения
Идентификаторы
Область видимости
Литералы
Типы данных, переменные
Константы, перечисления
Выражения и операции
Агрегатные типы
Указатели
Ссылки
Массивы
Строки
Управляющие операторы
Функции
Аргументы функции

ООП

Терминология
Определение классов
Константные методы
Статические члены
Наследование
Инкапсуляция
Полиморфизм
Инициализация и уничтожение объектов
this

прочее

шаблоны
макросы
динамическая память
исключения
rtti

Справочник по C++

Указатель this

Всем не статическим методам скрытно передается указатель на сам объект, доступ к которому осуществляется через ключевое слово this. Ниже приведен пример типичного использования this.


#include <iostream>
using namespace std;

class MyClass;
void func(MyClass* cls, int arg);

class MyClass {
	int m;

public:
	MyClass(int arg) {
		m=arg;
	}

	int getM() {
		return m;
	}

//-----------------------------------------------
// возвращение ссылки на себя
// часто используется при перегрузки операций

// в данном случае возможны выражения типа 
// add(10).mul(20).add(-3)

	MyClass& add(int arg) {
		m+=arg;
		return *this;
	}

	MyClass& mul(int arg) {
		m*=arg;
		return *this;
	}

//---------------------------------------------
// передача собственного адреса в качестве 
// аргумента 

	void f() {
		func(this, 10);
	}

};

void func(MyClass* cls, int arg) {
	cls->mul(arg).add(arg/2);
}

int main() {
	MyClass cls(5);
	cls.f();
	cout<<cls.getM()<<endl;
	return 0;
}

Рейтинг@Mail.ru