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

Swap для элементов контейнера указателей на экземпляры абстрактного класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан массив а, состоящий из n целых чисел (n < = 100). Найти количество максимальных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1044556.html
не могу найти ошибку #include <iostream.h> #include <conio.h > void main() { int a; int n; int i;
C++ Построить связной список Построить связной список, содержащий в качестве данных информацию о студентах: № зачетной книжки, Фамилия, Имя, Отчество, Дата рождения, Группа. http://www.cyberforum.ru/cpp-beginners/thread1044541.html
C++ надо немного подправить, пожалуйста
вроде ведь и не сложно, но я что-то совсем не понимаю. как сделать, чтобы при вводе номера группы не цифрами, а буквами, не выдавало ошибок? // Student.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <stdio.h> #include <tchar.h> #include <string>
Написать программу, порождающую поток по нажатию одной из клавиш клавиатуры C++
Написать программу, порождающую поток по нажатию одной из клавиш клавиатуры. Каждому созданному таким образом потоку соответствует окружность в окне приложения, которая появляется в случайном месте окна приложения и движется либо во вертикали, либо по горизонтали. При достижении границы окна, окружность меняет направление своего движения на противоположное. При помощи объектов синхронизации...
C++ Сответстивие текста грамматике http://www.cyberforum.ru/cpp-beginners/thread1044534.html
Есть грамматика в форме БНФ. 1 grammar notion 2 notion differenciation name integration 3 differenciation '(' ')' 4 integration '(' ')' 5 notions notion 6 sentences sentence 7 sentence syntax semantic 8 syntax item
C++ Сумма бесконечного ряда Вот само задание http://cs310727.vk.me/v310727546/ae4f/W-C2A0gLQls.jpg Извините за ссылку, не понимаю как вставить картинку подробнее

Показать сообщение отдельно
Merovingean
 Аватар для Merovingean
3 / 3 / 0
Регистрация: 14.12.2013
Сообщений: 67
16.12.2013, 21:53     Swap для элементов контейнера указателей на экземпляры абстрактного класса
Добрый вечер.

Не могу осилить проблему:
Описан абстрактный класс.
Описаны наследники этого класса уже без абстрактности.
Описан контейнер list из STL и описаны итераторы для него.
Элементы контейнера - указатели на экземпляры абс класса.
Контейнер заполнен различными наследниками абс класса.
Нужно поменять местами два различных элемента контейнера.

В обычном случае подошло бы
C++
1
swap(**i, **j);
Но здесь это не прокатывает, так как нельзя создать экземпляр абс класса.

Можно было бы написать в абс классе функцию, которая ссылалась бы на чистый виртуальный конструктор копирования, который бы переопределяли аналогичные конструкторы копирования в классах-наследниках, но в базовом классе опять же нельзя создать конструктор копирования по причине абстрактности.

Не могли бы вы подсказать, что делать в таком случае?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru