Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ масив структур https://www.cyberforum.ru/ cpp-beginners/ thread950167.html
Создать масив структур, каждая с которых состоит с селементов: факультет, курс, група, фамилии студентов, оценки, стипендия. Определить: 1) фамилии студентов со степухой и их средний бал. 2)факультет, где на первом курсе наименее двоишников. 3)курс с наибольшим количеством отличников. Помогите сделать програму. Только недавно начал учить С++, но еще не успел усвоить даную тему, а мой препод...
C++ Работа конструкторов в классе и дружественная функция
Есть програмка с классом Meal. К ней я так же написал дружественную функцию с вычитанием калорийности объектов от общей калорийности, но расчеты получаются не правильными. Вот сам текст класса: #include <iostream> #include <conio.h> using namespace std; class Meal{ private: double Carrot; double Kap; double Meat;
C++ Матрицы. Найти элементы, меньшие среднего арифметического Вот задача, мне срочно нужна ваша помощь... С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица. Найти элементы меньшие среднего арифметического. Разрешается при этом использовать только один оператор цикла (кроме цикла ввода матрицы). на выходе выводится меньшее число с индексом. С комментариями пожалуйста, потому что я вообще не изучала этот язык... https://www.cyberforum.ru/ cpp-beginners/ thread950144.html C++ указатели и шаблоны https://www.cyberforum.ru/ cpp-beginners/ thread950141.html
Добрый день. Есть вот такой шаблон template< typename T> struct A{ void a(){} }; в одной части программы он возможен или как
C++ Нахождение углов треугольника по трем его сторонам
На данный момент у меня получается вот так.. На форуме есть подобная тема но она на языке паскаль https://www.cyberforum.ru/pascal/thread91176.html #include "stdafx.h" #include "math.h" #include <iostream> using namespace std; int main() { double a,b,c,S,u;
C++ Динамическая память(толи я дурак, то ли правда лыжи не едут) https://www.cyberforum.ru/ cpp-beginners/ thread950105.html
Есть код программы: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> const int N=10;//razmer matritsi const int NPOW=N*N; const int RANDMAXIMUM=99;//maksimal'noe znachenie vivodimoe rand()
C++ Пожалуйста подскажите, что означает оператор! https://www.cyberforum.ru/ cpp-beginners/ thread950097.html
Доброго времени суток. Перевожу Сишный исходник в Делфи и столкнулся с такой строкой v5 = **(_DWORD **)v6->h_addr_list; Подскажите пожалуйста, что она означает, а в частности что означает **(_DWORD **)v6
C++ Чтение графических файлов
Здравствуйте уважаемые участники форума. Есть задание для курсового проекта, связанная с программированием C++. Приведу небольшой пример: имеется графический файл, допустим формата jpeg, нужна такая программа, которая считает данный файл для дальнейшей обработки и последующем сохранение в какой либо свой формат. Если есть у кого возможность и знания в этой сфере, пожалуйста помогите(...
C++ Программирование циклического вычислительного процесса https://www.cyberforum.ru/ cpp-beginners/ thread950087.html
12. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0. Даже представить не могу, как это можно реализовать средствами С++(вот такой вот я чайник). Хотя бы дайте алгоритм действий или натолкните на нужную мысль :)
C++ Как же все-таки лучше всего перегружать операторы? 1. Нужно ли использовать friend там, где это возможно? (или не стоит злоупотреблять где-нибудь?) 2. Стоит ли при перегрузке бинарного оператора "+" делать его обособленным от класса? // свободная ф-ия которая не friend для класса DATES // она просто использует публичный оператор operator += DATES operator + (const DATES& lhs, const DATES& rhs) { DATES result(lhs); result += rhs; //... https://www.cyberforum.ru/ cpp-beginners/ thread950042.html
Нахождение корня уравнения C++
найти корни уравнения и отделить один из них методом деления отрезка пополам x^2=sinx
C++ как правильно создать opengl проэкт в IDE code blocks чтобы компилировался? https://www.cyberforum.ru/ cpp-beginners/ thread950027.html
создаю новый проект опенгл, но нифига не компилируется выдает кучу ошибок
3 / 3 / 0
Регистрация: 04.09.2013
Сообщений: 18
0

Абстрактный класс и std::sort - C++ - Ответ 5030663

08.09.2013, 13:28. Показов 1113. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,

Не компилируется строка:
Код
std::vector<mtl::io::QtFile*> *vec;
...
mtl::misc::Sort(vec); // ЭТА СТРОКА
Компилятор (g++ 4.7.3 Ubuntu) выдает:
error: cannot convert ‘std::vector<mtl::io::QtFile*>*’ to ‘std::vector<mtl::misc::Sortable*>*’ for argument ‘1’ to ‘void mtl::misc::Sort(std::vector<mtl::misc::Sortable*>*)’
Доп инфо:
Абстрактный класс:
Код
namespace mtl		{
namespace misc		{

class Sortable
{
public:
	virtual bool
	sortable_bool() const = 0;
	
	virtual const QString&
	sortable_str() const = 0;
};

} // namespace misc
} // namespace mtl
Его имплементация:
Код
namespace mtl	{
namespace io	{

class QtFile : public mtl::misc::Sortable {..}
} // namespace io
} // namespace mtl
и метод Sort в namespace mtl::misc:
Код
void
Sort(std::vector<mtl::misc::Sortable*> *vec)
{
	std::sort(vec->begin(), vec->end(), mtl::misc::SortItems);
}
Вроде бы все правильно но на строке "mtl::misc::Sort(vec);" компилятор останавливается, кажется он не понимает что mtl::io::QtFile должен сойти как mtl::misc::Sortable, не пойму почему.

Если так то компилится и работает правильно, но по идее должно было работать и без каста:
Код
mtl::misc::Sort((std::vector<mtl::misc::Sortable*>*)vec);


Вернуться к обсуждению:
Абстрактный класс и std::sort C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2013, 13:28
Готовые ответы и решения:

Не работает функция sort через абстрактный класс(вектор указателей)
Есть абстрактный класс: class Comp{ public: int ochki; string name; virtual void getName(){};...

Абстрактный класс, удаление наследника из std::vector<T>
При удалении через итератор выбивает ошибку в ходе выполнения программы. Имеется абстрактный...

Создать абстрактный базовый класс Container с виртуальными методами sort() и поэлементной обработки контейнера foreach
Создать абстрактный базовый класс Container с виртуальными методами sort() и поэлементной обработки...

Отличие std::sort От std::qsort
Пишу доклад по программированию, собственно выбрал тему сортировок. вот сейчас хочу расписать...

3
08.09.2013, 13:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2013, 13:28
Помогаю со студенческими работами здесь

std::sort + std::lower_bound
тема такая: есть класс person: class Person{ private: string name_; string adress_; long...

std::sort
Достоинства и недостатки делаю таблицу, достоинств и недостатков std::Sort. собственно, не...

std::sort()
Доброго времени суток! Есть некая структура: struct member { int latency; ...

algorithm std::sort
Почему так делать нельзя? #include &lt;algorithm&gt; using namespace std; class T { private:...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru