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

Шаблонные классы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсия(возведение в степень) http://www.cyberforum.ru/cpp-beginners/thread1140659.html
Ввести с клавиатуры любое целое число b и действительные числа а и с. Вычислить z=a^b +c^b, используя рекурсивную функцию: x^n=1, если n=0; x^n=1/x^(-n), если n<0; x^n=x*x^(n-1), если n>0.
C++ Cannot open include file: 'libr.h': No such file or directory Всем доброго времени суток, нужна помощь. Ошибка в 3 строке, не могу понять почему, может кто подскажет?(Cannot open include file: 'libr.h': No such file or directory) #include "stdafx.h" #include <stdio.h> #include "libr.h" int _tmain(int argc, _TCHAR* argv) { FILE *f=fopen("f_out.txt","w"); int d; Node *pbeg=first(100); http://www.cyberforum.ru/cpp-beginners/thread1140641.html
C++ Уплотнить таблицу с шагом Н
Добрый день! Возникла проблема с написанием программы... выдает не правильный результат,взгляните пожалуйста- Дана пятизначная таблица sinx: на отрезке с шагом k = 0,005. Необходимо уплотнить эту таблицу с шагом Н = 0,001 на участке #include <iostream> using namespace std; int main() { double a,b,h1,h2,e,y,y0, y1,y2,t,x; setlocale(LC_ALL,"Russian");
Комментарии для фрагмента кода C++
можете написати коментарі до фрагмента коду void cheng(char * d, char * s){ for(char *p1=s,*p2=d; (*p2=*p1);++p1,++p2){ if(*p1!=' ') continue; for(;*p1==' ';++p1); p2+=(p2==d || !(*p1))?0:1; *p2=*p1; } }
C++ Debug Assertion Failed http://www.cyberforum.ru/cpp-beginners/thread1140582.html
День добрый. На С++ решаю задачу, схожую с "задачей производителя и потребителя". Вкратце: процесс Receiver запускает введенное пользователем количество процессов Sender, после чего начинает бесконечный цикл, в котором ждем команды: "прочесть", - прочесть запись из файла, "выход" - выход. Процесс Receiver передает процессам Sender местоположение файла (общего для ресивера и всех сендеров) -...
C++ Список с пропусками Добрый день! Мне необходимо написать структуру списка с пропусками и функции добавления/поиска/удаления. Застрял на функции добавления элемента в список // skip-spisok.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <fstream> #include <math.h> подробнее

Показать сообщение отдельно
maria_
5 / 5 / 1
Регистрация: 25.08.2013
Сообщений: 67
06.04.2014, 20:14     Шаблонные классы
Добрый день! Вопрос такой: есть класс
C++
1
2
3
4
5
6
class A
{
public:
    int x;
    A* z;
}
Мне нужно сделать его шаблонным, а именно, чтобы тип поля z был шаблонным, т.е. так:
C++
1
2
3
4
5
6
7
template<class T>
class A
{
public:
    int x;
    T* z;
}
И я хочу потом сделать, допустим, список из объектов типа A. Элемент списка объявлять значит надо так:
C++
1
A<A> elem;
Но тогда получается, что тот класс A, который записан внутри скобок, не имеет параметра, т.е. надо писать как-то так:
C++
1
A<A<A<A<...> > > > elem;
Но нельзя же писать до бесконечности. Как можно в этом случае объявить переменную elem?

Добавлено через 29 минут
Может можно написать что-то похожее на
C++
1
2
3
4
5
6
7
template<class T>
class A
{
public:
    int x;
    T<T>* z;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru