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

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

Войти
Регистрация
Восстановить пароль
 
klik07
3 / 3 / 0
Регистрация: 17.11.2013
Сообщений: 33
#1

Передача параметров во виртуальные функции, перегрузка - C++

27.11.2013, 21:39. Просмотров 626. Ответов 2
Метки нет (Все метки)

нужна помощь.
имеется абстрактный класс Base, объекты которого будут храниться в контейнере, который я сам реализовал.
наследники Base фигуры, такие как окружность, квадрат, отрезок и т.п.
В базовом-абстрактном классе описываются виртуальные функции, которые потом должны использоваться в классах-наследниках, но параметры там мне нужны другие.Например, функция load может иметь один параметр int для квадрата(длина стороны) и два параметра int int для окружности(координаты центра).
Как мне решить проблему((

чтобы было понятнее, что я привожу примерный кусок кода:
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
33
34
35
36
37
38
class Base {   // абстрактный клаас-предок
public:
    virtual void load(int a, int b)=NULL;
};
class Circle: public Base {
private:
        int x, y;
public:
        void load(int a, int b) {
             x = a;
             y = b;
        }
};
class Kvadrat: public Base {
private:
        int length;
public: 
        void load(int a) {
             length = a;
         }
...
...
...
...
...
...
...
...
Base *obj = new Circle;
obj->load(5,6);
...
...
...
...
...
...
...
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2013, 21:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача параметров во виртуальные функции, перегрузка (C++):

Полиморфизм, виртуальные функции, перегрузка функций - C++
Изменить программу предыдущей лабораторной работы, функцию определяющую бьет ли первая карта вторую, определитель в базовом классе как...

Передача параметров функции - C++
доброго времени суток:) есть программа реализующая метод градиентного спуска. но да это неважно есть функция Norm. значение этой...

Передача параметров функции - C++
Добрый день! Помогите, пожалуйста с передачей параметров по функциям. Как использовать функцию check2 в функции...

Передача параметров в функции - C++
Здравствуйте Помогите, пожалуйста, разобраться с передачей параметров. Задание : создать класс "Треугольник", определить углы и тип...

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

Передача параметров функции в main() - C++
Вот у меня есть две функции, которые в дальнейшем нужно вызвать в void main (). int Chislo(int *ar, int razmer) void Set_card(int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
27.11.2013, 21:50 #2
Цитата Сообщение от klik07 Посмотреть сообщение
В базовом-абстрактном классе описываются виртуальные функции, которые потом должны использоваться в классах-наследниках, но параметры там мне нужны другие.Например, функция load может иметь один параметр int для квадрата(длина стороны) и два параметра int int для окружности(координаты центра).
никак не сделаешь количество и тип параметров должны соответствовать иначе это будет другая функция
единственно что могу посоветовать параметры по умолчанию
например вот так
в базовом классе
load(int, int)
в квадрате
load(int a,int b=-1);
в круге
load (int x,int y)

но вообще пересмотри идеологию
например у квадрата тоже должен быть центр
у круга радиус или диаметр

соответственно это разные функции
я вижу при такой иерархии только одну виртуальную функцию Draw(рисование)
ну может еще вычисление площади или периметра
klik07
3 / 3 / 0
Регистрация: 17.11.2013
Сообщений: 33
01.12.2013, 20:56  [ТС] #3
Цитата Сообщение от ValeryS Посмотреть сообщение
я вижу при такой иерархии только одну виртуальную функцию Draw(рисование)
ну может еще вычисление площади или периметра
не подскажите, как в методе класса использовать DrawEllipse и т.д. В общем, как описать функцию Draw
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2013, 20:56
Привет! Вот еще темы с ответами:

Передача параметров функции с пoмощью указателя - C++
Всем доброго времени суток, есть обычная функция, возвращающая сумму цифр числа: int sumOfNum(int N) { int sum = 0; while(N >...

Передача массивов в качестве параметров функции - C++
Задав динамический двумерный массив вещественных данных (матрицу А размером NxN), реализовать его обработку, как указано в варианте....

Передача параметров функции по значению, ссылке и указателю - C++
Вычислить F=f(a)-5f^3(sin(b/2))+1/f(1+c^4), де f(x)=3x^2-2x^2+7, при a=5.08, b=-0.65, c=3.87 Добавлено через 45 минут #include...

Передача массивов и параметров с одной функции в другую - C++
Здравствуйте. Я пишу программу, она состоит из множества функций. И у меня возникло море вопросов. Чур камнями не бросаться. 1)Как...


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

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

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