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

возвращаемые значения функции шаблонного класса A и A<T> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Хороший тон программирования http://www.cyberforum.ru/cpp-beginners/thread659040.html
Можно ли считать хорошим тоном в программировании? Например вот такой вот код? #define FOR for(int a=0;a<10;a++) ........ FOR { cout<<a<<'\n'; }
C++ Изменение отдельных символов в массиве "std::string" Добрых времени суток, форумчане! Я тут решил переписать свой криптовальщик с GML на C++ и у меня возникла следующая проблема: мне нужно в массиве "std::string" изменить 1 символ, например: #include... http://www.cyberforum.ru/cpp-beginners/thread659026.html
C++ Снова задача про ход коня
Здравствуйте. Задача: рекурсивно обойти шахматную доску конем (программа просто выводит один вариант решения, без дополнительных наворотов, первый ход делается случайным образом, после каждого хода...
C++ DLL for C# entry point C++
heared -> #ifndef _DLLTEST_H_ #define _DLLTEST_H_ #include <string> using namespace std; extern "C" __declspec(dllexport) string f1(string); #endif
C++ Гороскоп http://www.cyberforum.ru/cpp-beginners/thread659004.html
Приветик) Решите пожалуйста в ВС++ буду очень признательна))) В древнеяпонском календаре был принят 60-летний цикл из пяти 12-летних циклов, обозначенных цветами: зеленый, красный, желтый, белый и...
C++ Статический оператор "()" в классе Друзья, чем можно объяснить запрет на создание статического "operator ()" в классе? Связано ли это как-то с его возможностью принимать разное количество параметров (насколько я помню, это же один... подробнее

Показать сообщение отдельно
kotleta
42 / 42 / 11
Регистрация: 13.09.2012
Сообщений: 196

возвращаемые значения функции шаблонного класса A и A<T> - C++

27.09.2012, 14:09. Просмотров 342. Ответов 2
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 первый листинг 
 
template <typename T>
class A
{
 
 public:
  T a;
 
  A& f()
  {
   a=3;
  }
};

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
второй листинг
template <typename T>
class A
{
 
 public:
  T a;
 
  A<T>& f()
  {
   a=3;
  }
};
В первом случае возвращается объекта класса А, а во втором случае объект параметризованного класса А. Но у меня как-то неукладывается в голове.

Если класс параметризованный, то при возвращении объекта класса А без указания параметров шаблона будет получатся так, что нет возможности понять разницу: возвращаемый объект А не показывает какой тип был применен для формирования класса А.

Например:

A <int>
A <double>

но функция f из первого листинга вернет объект класса А

Сможем ли мы их сравнивать? И какой тогда смысл возвращать объект класса без параметров в параметризованном классе.

В случае при втором листинге, все гораздо понятнее
Если объявили A<int>
то и вернется объект A <int> по завершении функции f
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru