С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,229
Записей в блоге: 27
#1

Наследование классов - не передается нужный параметр - C++

10.02.2014, 13:37. Просмотров 322. Ответов 9
Метки нет (Все метки)

Доброе утро всем!
Встала не с той ноги и тут еще с кодом неполадки.
Интересует такой вопрос - есть код
C++
1
2
    PentagramGenerator *pentagram = new PentagramGenerator(v1, v2, v3, v4, v5);
    widget->setGeometryGenerator( pentagram);
Функция setGeometryGenerator() принимает указатель на класс GeometryGenerator.
А класс PentagramGenerator от него наследуется.
C++
1
class PentagramGenerator : public GeometryGenerator
Так вот, пока цела моя клавиатура, хочется узнать - почему функция setGeometryGenerator ругается на то, что pentagram не того типа?! Он ведь наследуется от GeomertyGenerator!
Спасибо заранее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2014, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование классов - не передается нужный параметр (C++):

в функцию передается параметр const int * - C++
В функцию передается параметр const int *. Для чего этот const: для указателя или для значения по указателю? И как сделать, чтобы в функции...

Заменить наследование классов на наследование интерфейсов - C++
#include <iostream> #include <assert.h> using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Наследование классов. Копирование производных классов - C++
Здравствуйте всем, у меня такой вопрос: написал код #include "stdafx.h" class A //Создаем класс А { int mA; ...

Как найти в текстовом файле нужный параметр - C++
Добрый день. Мне надо реализовать одну программку, но с с++ я знаком слабо. У меня есть несколько файлов с расширением cdr. В них...

Шаблон параметр шаблона и наследование - C++
Есть вот такой базовый класс, который описывает абстрактный доступ к контейнеру stl: template< template<typename, typename> class...

Функция,которая определяет, встречается ли заданная буква, которая передается в функцию как параметр - C++
Написать функцию, которая определяет, встречается ли заданная буква, которая передается в функцию как параметр, во введенной строке....

9
Case-Man
166 / 106 / 21
Регистрация: 02.01.2012
Сообщений: 596
10.02.2014, 13:51 #2
1) В сообщении об ошибке должно быть более подробно написано, какой тип параметра ожидается, а какой получен
2) Желательно видеть больший объем кода
0
dzrkot
10.02.2014, 13:52
  #3

Не по теме:

в разделе по QT по-моему быстрее ответят

0
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,229
Записей в блоге: 27
10.02.2014, 13:53  [ТС] #4
Цитата Сообщение от Case-Man Посмотреть сообщение
1) В сообщении об ошибке должно быть более подробно написано, какой тип параметра ожидается, а какой получен
2) Желательно видеть больший объем кода
Хочет тип GeometryGeneratorPtr, а получен - PentagramGenerator*.
Кода тут 25000 тыс. строк. Какая именно часть интересует?
0
SatanaXIII
Супер-модератор
Эксперт С++
5642 / 2677 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
10.02.2014, 13:57 #5
Тамика, воспроизвел описанное - на словах все работает.
Как правильно говорит Case-Man, показывайте код.

Не по теме:

Цитата Сообщение от Тамика Посмотреть сообщение
PentagramGenerator



Добавлено через 59 секунд
Цитата Сообщение от Тамика Посмотреть сообщение
Какая именно часть интересует?
Описание setGeometryGenerator и объявление widget.

Добавлено через 2 минуты
Может вы его вот так вот передаете:
C++
1
widget->setGeometryGenerator(*pentagram);
По значению.

P.S. Тамика, откройте секрет - зачем вам генератор пентаграмм?
1
Case-Man
166 / 106 / 21
Регистрация: 02.01.2012
Сообщений: 596
10.02.2014, 13:59 #6
И еще как объявлен тип GeometryGeneratorPtr

Добавлено через 2 минуты
Цитата Сообщение от SatanaXIII Посмотреть сообщение
По значению
Что не по значению - видно из текста ошибки
Цитата Сообщение от Тамика Посмотреть сообщение
Хочет тип GeometryGeneratorPtr, а получен - PentagramGenerator*.
1
SatanaXIII
Супер-модератор
Эксперт С++
5642 / 2677 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
10.02.2014, 14:03 #7
Цитата Сообщение от Case-Man Посмотреть сообщение
видно из текста ошибки
А ну елки! Что здесь тогда удивительного?
0
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,229
Записей в блоге: 27
10.02.2014, 16:23  [ТС] #8
Цитата Сообщение от SatanaXIII Посмотреть сообщение
P.S. Тамика, откройте секрет - зачем вам генератор пентаграмм?
А вот так и сказала.))

Добавлено через 25 секунд
В общем, разобралась я в чём ошибка... Всем спасибо, что отозвались.
0
SatanaXIII
Супер-модератор
Эксперт С++
5642 / 2677 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
10.02.2014, 16:27 #9

Не по теме:

Цитата Сообщение от Тамика Посмотреть сообщение
А вот так и сказала
Опять придется вручную.



Цитата Сообщение от Тамика Посмотреть сообщение
В общем, разобралась я в чём ошибка
Хоть поделились бы.
0
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,229
Записей в блоге: 27
10.02.2014, 16:29  [ТС] #10
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Хоть поделились бы.
Да как всегда. Какие ещё у новичка могут быть проблемы...
Проблема в том, что я передавала обычный указатель, а требовался умный указатель. А он есть отдельным классом. По сути - и то и то указатель, а вещи кардинально разные. Вот и ругалось...

Добавлено через 36 секунд
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Опять придется вручную.
Я прямо ожидала Вас увидеть в этой теме.
0
10.02.2014, 16:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2014, 16:29
Привет! Вот еще темы с ответами:

Наследование классов - C++
никак не разберусь с наследованием, у нас тут в методичке дана по нему общая инфа, надо сделать как в методичке, но так не получается......

Наследование классов - C++
Добрый вечер. Не могли бы вы дать пособия, где подробно описывается наследование классов. И если у кого-нибудь есть готовый простенький...

Наследование классов - C++
Есть базовый класс: class people { public: char *name; }; Есть производный класс, который наследуется от базового: class...

Наследование классов - C++
Как правильно построить наследование, чтобы класс C мог корректно использовать A : Show() ? Например имеем: AB.h: class A { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.