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

Реализовать абстрактный класс "Список" стеком/очередью - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Использование заголовочного файла http://www.cyberforum.ru/cpp-beginners/thread334906.html
Здравствуйте. Столкнулся с проблемой, когда делал задание из книги Б.Страуструпа "Программирование. Приницпы и практика использования С++" глава 8 задание 1. // файл use.cpp #include "my.h" int foo; int main() {
C++ Работа с текстовым файлом Прошу помощи. Должно быть консольное приложение. Описываю последовательность действий. Текстовый файл 1234.txt розмещен в каталоге с программой. С текстового файла 1234.txt надо считать 1-ю строчку и записать её в новый создаваемый файл например 1.txt (1.txt должен создаватся, в той же папке где и программа). Потом должен создаваться каталог с именем текстового файла куда перемешается... http://www.cyberforum.ru/cpp-beginners/thread334900.html
C++ пространство имен
Один практикующий программист сказал мне, что пространство именusing namespace std; нежелательно объявлять в начале программы, а лучше вызывать в самой программе каждый раз отдедльно std::cout к примеру. Ибо будто бы это может вызвать конфликты какие-то. А примеров не привел. Вот и есть суть вопроса). Откуда могут взяться конфликты?
Курсор C++
Как получить координаты курсора в консоли
C++ методы http://www.cyberforum.ru/cpp-beginners/thread334814.html
как сделать метод, который записывал бы в файл весь экземпляр класса ? VS Express Edition 2008
C++ Выход за пределы массива при использовании оператора new #include <iostream> using namespace std; int main() { int *i = new int; i= 1; cout << i; return 0; подробнее

Показать сообщение отдельно
LosAngeles
Заблокирован
21.07.2011, 11:46     Реализовать абстрактный класс "Список" стеком/очередью
Цитата Сообщение от Alex1205 Посмотреть сообщение
template
<typename Ty>
class Stack : protected List<Ty>
наследование, а тем более защищённое вобще не катит, расходы на виртуальные вызовы через указатель на таблицу вирт функций - лишний уровень косвенности, просранные такты процессора.

Примерно так стек в стл выглядит
C++
1
2
3
4
5
6
7
8
template <typename T, typename C = std::list<T> > 
{
    C c;
public:
    void push(T const&);
    void pop();
    T top() const;
}
только там дека вроде по умолчанию, а ты через лист свой сделай. Там все функции по одной строке занимают

Можно сделать ещё с использованием шаблонных параметров шаблона сделать(какой каламбур)):
C++
1
2
3
4
5
6
7
template <typename T, template <typename ELEM> class C = List> class stack
{
    C<T> c;
public:
    //...
    //...
};
впринципе тоже самое
 
Текущее время: 02:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru