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

template <class T> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обход Джарвиса (Алгоритм заворачивания подарка) http://www.cyberforum.ru/cpp-beginners/thread312486.html
Не могу придумать как написать прогу. Помогите пожалуйста. Суть такова: Пусть дано множество P = {p1,p2,...pn} точек. В качестве начальной берётся самая левая нижняя точка p1 (ее можно найти за O(n)...
C++ Инклюиды - include Доброго времени суток ! столкнулся с такой проблемой что нахожу какие-то примеры программ в инэте запускаю у себя а оно ругается что нет include каждых ! подскажите может есть какой-то сборник ? ... http://www.cyberforum.ru/cpp-beginners/thread312481.html
Вопрос о много-модульных проектах... C++
Здравствуйте! Имеется проект из кучи dll(около 20 и планируется свыше сотни)... не спрашивайте зачем... Дак вот... всё бы хорошо, если бы не одна огромная проблема, при которой я не могу работать...
Просят объяснить каждую строчку программы написанная в Borland C++ C++
Вот листинг программы //-------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "raschet.cpp" #include <math.h>...
C++ C++, переопределение ввода-вывода http://www.cyberforum.ru/cpp-beginners/thread312457.html
Решите, пожалуйста, если не трудно) Переопределить операции << и >> для ввода-вывода матриц размерностью m*n, где m и n кон-станты. Матрица хранится в классе.
C++ кому не сложно вот программа которая находит площадь пересечения прямоугольников #include "stdafx.h" #include <stdio.h> #include <math.h> #include <conio.h> void main(){ printf("vvedite kolichestvo... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
03.06.2011, 22:31
Друзья.

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
#include <iostream>
 
// Просто объявляем класс, чтобы следующее объявление прототипа отработало
template< typename T >
class Foo;
 
// Объявляем прототип
template< typename T >
void friend_func(const Foo< T > &);
 
template< typename T >
class Foo
{
public:
    Foo(const T &);
 
    // Здесь явно указываем, что конкретная версия функции friend_func будет
    // дружественна конкретной версии класса
    friend void friend_func< T >(const Foo< T > &);
 
private:
    T m_foo;
};
 
// В остальном - никаких различий
 
template< typename T >
Foo< T >::Foo(const T &foo):
m_foo(foo)
{
}
 
template< typename T >
void friend_func(const Foo< T > &arg)
{
    std::cout << arg.m_foo << std::endl;
}
 
int main()
{
    Foo< int > bar1(10);
    Foo< double > bar2(1.2);
 
    friend_func(bar1);
    friend_func(bar2);
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru