Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Electroflower
Форумчанка
290 / 83 / 9
Регистрация: 05.01.2012
Сообщений: 455
Записей в блоге: 1
#1

Перегрузки нестатическими компонентными функциямими - C++

06.07.2013, 09:02. Просмотров 275. Ответов 3
Метки нет (Все метки)

Ребят, привет)
Есть профи в перегрузках?
Нужно разъяснить суть и назначение перегрузок операторов () [] ->
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 09:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузки нестатическими компонентными функциямими (C++):

Определить класс «дата» с компонентными данными: число, месяц, год - C++
Определить класс «дата» с компонентными данными: число, месяц, год. Перегрузить операции: >>, << (вывод в формате «чч/мм/гггг»), >=...

Создать класс «дробь» с компонентными данными: целая часть, числитель, знаменатель. Перегрузить операции: >>, - C++
Здравствуйте,вот задача: Создать класс «дробь» с компонентными данными: целая часть, числитель, знаменатель. Перегрузить операции: >>,...

Определить класс «строка символов» с компонентными данными: длина строки, указатель на строку. Перегрузить оп - C++
Определить класс «строка символов» с компонентными данными: длина строки, указатель на строку. Перегрузить операции: << (вывод в виде...

Перегрузки - C++
Изменить программу предыдущей лабораторной работы. Функцию, определяющую бьет ли первая карта вторую, определить в базовом классе как...

с++ перегрузки - C++
Нужна помощь с реализацией кода(перегрузка добавления элемента в массив) Полная постановка задачи. АТД - множество с элементами типа...

Перегрузки - C++
Помогите пожалуйста!!!! Перегрузку оператора – слева объект, справа другой тип данных вроде сделала, а перегрузку оператора – слева другой...

3
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.07.2013, 09:38 #2
() — делать вид, что объект — это функция (для всяких функторов).
[] — делать вид, что объект — это массив (всякие векторы, к примеру, или там смарт-поинтеры на массивы).
-> — делать вид, что объект — это указатель на другой объект (смарт-поинтеры).
2
Electroflower
Форумчанка
290 / 83 / 9
Регистрация: 05.01.2012
Сообщений: 455
Записей в блоге: 1
18.07.2013, 12:29  [ТС] #3
OhMyGodSoLong, а примеры можете, написать, пожалуйста?
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,865
Записей в блоге: 3
Завершенные тесты: 1
18.07.2013, 13:04 #4
Фиговый, но пример.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
 
class A{
public:
    A(int x = 0){
        mX=x;
    }
    int operator()(){
        return mX;
    }
    void printmx(){
        std::cout<<"Print mX = "<<mX<<std::endl;
    }
private:
    int mX;
};
 
 
class B{
public:
    explicit B(A * p){
        pointer = p;
    }
    A * operator->(){
        return pointer;
    }
    ~B(){
        delete pointer;
    }
private:
    A * pointer;
};
 
 
class C{
public:
    C(size_t count):mSize(count),mData(new A[mSize]){
    }
    A & operator[](size_t index){
        return mData[index];
    }
    size_t size(){
        return mSize;
    }
    ~C(){
        delete [] mData;
    }
private:
    size_t mSize;
    A * mData;
};
 
 
int main(void){
    A aFoo(100);
    std::cout<<"mX = "<<aFoo()<<std::endl;
    B bPointer(new A(700));
    bPointer->printmx();
    C cArray(10);
    for(size_t i=0;i<cArray.size();++i)
        cArray[i].printmx();
    return 0;
}
1
18.07.2013, 13:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2013, 13:04
Привет! Вот еще темы с ответами:

Перегрузки - C++
Помогите пожалуйста написать программу. Описать производный класс, содержащий поле козырь, и функцию, проверяющую кроет ли карта,...

Перегрузки массивов - C++
Даны массивы следующих типов данных: Long = {},double ={},float = {}, int ={},short ={},long long ={}.

Массивы и перегрузки - C++
Есть парочка вопросов. Как объявить указатель на двумерный массив? На одномерный в таком виде int *ptr = new int ; а с двумерным...

Перегрузки функции - C++
вот задание: Задание 1: Разработка класса. Разработайте класс FRACTION. Элемент класса: ? числитель; ? знаменатель. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru