Содержание
- 2. Перегрузка операторов используется для улучшения читаемости и упрощения кода общий вид: тип имя_класса::operator#(параметры) {…} Можно перегружать
- 3. С использованием функций-членов Операторная функция принимает на один параметр меньше Объект, стоящий слева от оператора вызывает
- 4. Пример class three_d { int x, y, z; // 3-D coordinates public: three_d() { x =
- 5. Перегрузка унарных операторов class three_d { int x, y, z; // 3-D coordinates public: three_d() {
- 6. Постфиксная форма three_d three_d::operator++(int notused) { three_d temp = *this; // сохраняем x++; y++; z++; return
- 7. Операторная функция – не член класса Бинарные операции имеют 2 параметра Унарные операции имеют 1 параметр
- 8. Пример class three_d { int x, y, z; // 3-D coordinates public: three_d() { x =
- 9. Перегрузка class CL { public: int count; CL operator=(CL obj); friend CL operator+(CL ob, int i);
- 10. Перегрузка унарных операторов Работать не будет: three_d operator++(three_d op1) { op1.x++; op1.y++; op1.z++; return op1; }
- 11. Перегрузка унарных операторов class three_d { int x, y, z; // 3-D coordinates public: three_d() {
- 12. Перегрузка оператора присваивания class sample { char *s; public: sample() { s = 0; } sample(const
- 13. Перегрузка оператора присваивания Решение проблемы: перегрузка оператора присваивания: sample sample::operator=(sample &ob) { if(strlen(ob.s) > strlen(s)) {
- 14. Перегрузка оператора [ ] Оператор [ ] перегружается как бинарный Только для класса Только как член
- 15. Пример: безопасный массив const int SIZE = 3; class atype { int a[SIZE]; public: atype() {
- 16. Перегрузка оператора ( ) class three_d { int x, y, z; // 3-D coordinates public: three_d()
- 18. Скачать презентацию