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

Шаблон класса stack - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти сумму четных и нечетных чисел http://www.cyberforum.ru/cpp-beginners/thread918413.html
Файл F генерируется из случайных чисел, размерность которой указывает пользователь. Найти сумму четных и нечетных.
C++ Разъесните Сегодня "начал" обучение свое в С++ однако на первом же примере загвостка http://www.cyberforum.ru/cpp-beginners/thread918410.html
Задача. Вычислить по формуле: C++
123
Системы счисления C++
Есть строка длинной 5000 символов из 0 и 1. Надо эту строку преобразовать в строку, которая представляет соответствующее десятичное число. Как сделать?
C++ Как правильно перевести std::wstring в std::string ? http://www.cyberforum.ru/cpp-beginners/thread918386.html
Собственно как? :)
C++ вместо закрытия зависает #include <iostream> #include <fstream> #include <stdlib.h> using namespace std; bool petla = true; int main(); int w = 0; int age2 = {17,24}; подробнее

Показать сообщение отдельно
~SERG
3 / 3 / 1
Регистрация: 06.08.2012
Сообщений: 26
05.07.2013, 19:07     Шаблон класса stack
вопрос на похожую тему:
Создал шаблон класса стек Stack < T >. Помещаю в стек и извлекаю из него для печати данные
типа: int, char и определенный мною класс Rational (дробь). (для Rational есть перегреженная
операция передачи в поток). Всё это работает.
Теперь хочу получить доступ к отдельным полям Rational внутри функции Show(). Но компилятор не видит в подставляемом
типе Т объект класса Rational (: выражение слева от ".getNum" должно представлять класс, структуру... )

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
template< typename T >
void show(Stack< T > & ref)
{
    T  data;
            cout  <<"\n\n  " <<  typeid( ref).name() << endl;
 
    while(ref.pop(data))
    {
             cout <<"     " << data;
 
        if(0 ==  strcmp(typeid( ref).name(), "class Stack<class Rational>"))
        {
            cout <<"\n     ";
            //  cout << data.getNum() / data.getDenom() <<"\n"; //   выдаёт  ошибку   ???
        }  // без  предыдущей  строки  всё  работает
    }
 
}
 
класс дробь:
 
class Rational{
    friend ostream & operator<< (ostream & output, const Rational & );
private:
    int num;     // числитель дроби
    int denom;   //  знаменатель  дроби
public:
    Rational(int a = 0, int b = 1);
    int getNum()const { return num; }
    int getDenom()const { return denom; 
...........
.........
Возможно ли получить доступ или надо как ещё перегружать саму эту функцию ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru