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

Перегрузка оператора ‘=’ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задачка http://www.cyberforum.ru/cpp-beginners/thread373125.html
Добрый вечер всем. #include <iostream.h> #include <math.h> using namespace std; } int main (){ int **mas, n, m, i, j, j1; double dva, ras, summa; bool fl; cout<<Rus("storko: "<< endl;cin>>n;
C++ ошибка в структуре struct S{ char F; double n; }; Student *get_mem(); int _tmain(int argc, _TCHAR* argv) { struct S *st = get_mem(); http://www.cyberforum.ru/cpp-beginners/thread373111.html
создание программы сBoбодного падения тела C++
Помогите с созданием программы сBoбодного падения тела. Известно, что на входе будет задаваться высота....Скорость будет начальная равна нулю. Буду благодарна если поможете разобраться, так как только начинаю изучать C++
Подсчитать количество символов в файле C++
Подсчитать количество символов в файле. Символы с кодами ≤ 32, управляющие и пробелы не считать. Результат вывести на экран. что то не работает((( #include <iostream.h> #include <conio.h> #include <fstream.h>
C++ Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" http://www.cyberforum.ru/cpp-beginners/thread373084.html
Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный "след" (т.е. сумму элементов главной диагонали). Использовать функцию для нахождения следа матрицы и функцию печати матрицы. Помогите пожалуйста. Буду очень благодарна. (язык СИ ( обычный))
C++ Подмена дескриптора родительского окна при вызове CreateWindow В оконной процедуре LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) Пытаюсь при создании главного окна, создать контрол кнопку. case WM_CREATE: CreateWindow(_T("BUTTON"),_T("OK"),WS_VISIBLE | WS_CHILD,100,100,50,30,hWnd,NULL,NULL,NULL); подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
26.10.2011, 21:06     Перегрузка оператора ‘=’
Цитата Сообщение от kilik Посмотреть сообщение
Подскажите, пожалуйста, можно ли как-то перегрузить оператор равно.
Чтобы можно было его использовать как с правой, так и с левой стороны. С любым типом данных.
На примере изложил суть проблемы:
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
struct HOUSE{
    int a;
    int b;
    int c;
};
 
template <class T_str>
class summary_list {
    T_str *tmp;
public:
    //не знаю как тут правильно сделвть((
    T_str& operator = (T_str &tl){return *tmp;};//ошибка
    T_str& operator = (){return *tmp;};//ошибка
    
};
 
 
int main(){
    //проверка работоспособности 
    summary_list<int> t1;
    int k1=5;
    t1=k1;
    k1=t1;
 
    summary_list<HOUSE> t2;
    HOUSE k2;
    k2.a=5;
    k2.b=6;
    k2.c=10;
 
    t2=k2;
    k2=t2;
           return 0;
}
Это не "оператор равно", а оператор присваивания. Оператор присваивания должен быть нестатическим членом класса ровно с одним параметром.

Поэтому в вашем случае, когда вы хотите целочисленному объекту присвоить значение объекта типа класса, вам нужно написать функцию-член класса преобразования объекта класса в целочисленный тип. Тогда, когда компилятор встретит подобный код, когда слева от знака присваивания стоит целочисленный объект, он преобразует ваш объект класса, стоящий справа от знака присваивания, в этот целочисленный тип.
 
Текущее время: 13:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru