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

Использование операторов шаблона класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание и сортировка связного списка http://www.cyberforum.ru/cpp-beginners/thread765471.html
Задание: Написать программу, реализующую связный список с информацией о сотрудниках и отображающую список в порядке возрастания возраста сотрудника Вот мой код,почему-то не работает,ошибок не выдает,при запуске тут же закрывается typedef struct tag_table { int number; char familia; int age; } TABLE;
C++ Вывести строку посимвольно. Ошибки при компиляции. Делаю задание в dev c++ #include <iostream> #include <string> void main() { int N; string S; cout << "Введите строку: " http://www.cyberforum.ru/cpp-beginners/thread765420.html
C++ Сумму элементов в тех строках,где есть отрицательный элемент
сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент Дело в том ,что результат предыдущей строки приплюсовается к результату следующей,не могу понять,что не так? #include "stdafx.h" #include <iostream> #include <iomanip> #include <clocale> #include <cmath>
как написать программу, к примеру, класс шаблон выводящая дин. массив любого типа, с конструктором и деструктором... C++
Доброго всем времени суток! Очень заинтересовался этим языком, но не все получается. Вот как написать программу, к примеру, класс шаблон выводящая дин. массив любого типа, с конструктором и деструктором... Пример был бы мне очень полезен. Спасибо за внимание.
C++ Вывести на экран все четные делители числа N http://www.cyberforum.ru/cpp-beginners/thread765407.html
Есть код, который выводит четные. А как из этого кода сделать, чтобы ввести с клавиатуры целое N, вывести на экран все четные делители числа N. #include <iostream> using namespace std; int main() { int begin; cout <<"Enter of number string:";
C++ Не могу разобраться с 2D игрой Наверное это очень баянисто....многие кто начинали программировать писали свои собственные игры,я тоже пытался написать,например морской бой,когда я изучал Си,сейчас вернулся к этому же на с++. Если я правильно понимаю,то все игры пишутся на каком-то движке,дающий возможность графически составляющую связывать с скриптом действий объектов...но это так просто мои предположения,я вот например... подробнее

Показать сообщение отдельно
winnisp
 Аватар для winnisp
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 25
18.01.2013, 15:22     Использование операторов шаблона класса
Приветствую, уважаемые форумчане. Я - начинающий программист, во время чтения книги Ст. Липмана "Язык программирования вводный курс" решил написать программку, для которой понадобилось создать шаблон структурки. Появилась проблема с операторами, привожу упрощенную схему структуры:

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
#include <iostream>
template<typename T>
// Определение структрурки CC
struct CC
{
    CC<T>& operator = ( const CC<T> &rp );
    CC(T c=0): cont(c) { }
    T cont;
};
// Используемые операторы
// оператор суммы
template<typename T>
CC<T>& operator + ( const CC<T> &lpr, const CC<T> &rpr )
{
    CC<T> ret;
    ret.cont=lpr.cont+rpr.cont;
    return ret;
};
// оператор присвоения
template<typename T>
CC<T>& CC<T>::operator = (const CC<T> &rpr )
{
    this->cont=rpr.cont;
    return *this;
};
// оператор умножения на константу
template<typename T>
CC<T>& operator * ( const CC<T> &lpr, const double c)
{
    CC<T> ret;
    ret.cont=lpr.cont*c;
    return ret;
};
// умонжение константы на число
template<typename T>
CC<T>& operator * ( const double c, const CC<T> &lpr )
{
    CC<T> ret;
    ret.cont=lpr.cont*c;
    return ret;
};
 
void main()
{
    CC<int> a(3),b(2),c;
    c=2*a*2;
    std::cout<<c.cont;
    system("pause");
}
Если делать c=2*a то в итоге получаем ответ 6, если использовать оператор c=a*2, то также получаем в ответе 6, а вот если выполнять как показано выше, то в ответе получаем 0, причем при пошаговой отладке в VS 2010, при выполнении оператора умножения константы на объект получаем объект СС со значением cont=6, а при выполнении оператора умножения объекта на константу происходит обнуление параметра объекта rpr, при определении объекта ret.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru