0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 22
1

Полиморфные функции

14.11.2012, 17:03. Показов 6449. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, случалась такая проблема. Есть абстрактный класс
C++
1
2
3
class Abstract{ //Абстрактный класс
public:virtual void print_msg()=0;
};
нужно создать полиморфнуу функцию операндом которой будет абстрактный класс,у меня не получаеться..помогите
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2012, 17:03
Ответы с готовыми решениями:

Полиморфные методы
Имеется базовый класс TFigures и три потомка от него - TCircle, TRectangle, TTriangle. В TFigures...

Полиморфные типы
Помогите пожалуйста, надо в задачке задать типы, я пока не очнь понимаю эти полиморфы, чуток...

Наследование, полиморфные методы
№1 Составить программу с одним родительским классом и двумя потомками. Потомки должны содержать...

Полиморфные классы и интерфейсы
Создать перечисления для представления дней недели. Вывести все значения на экран.

5
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
14.11.2012, 17:20 2
C++
1
2
3
int foo(Abstract *p){
    return 0;
}
Или я не так понял?
0
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 22
14.11.2012, 17:21  [ТС] 3
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
int foo(Abstract *p){
    return 0;
}
Или я не так понял?
Понял хорошо, ну нужно что б хоть что то делалось в этой функции..
и как вызвать эту функцию?
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
14.11.2012, 17:25 4
Цитата Сообщение от Костя Хута Посмотреть сообщение
Понял хорошо, ну нужно что б хоть что то делалось в этой функции..
и как вызвать эту функцию?
Вообще то Вам как минимум нужен еще один класс, ибо создать объект абстрактного класса нельзя.
Делайте класс, наследуйте его от Abstract (NewClass->Abstract). Сделайте в нем реализацию метода print_msg(). Создайте объект этого класса и передавайте в функцию указатель на этот объект. В функции же вызывайте метод print_msg();
0
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 22
14.11.2012, 17:42  [ТС] 5
Цитата Сообщение от Croessmah Посмотреть сообщение
Вообще то Вам как минимум нужен еще один класс, ибо создать объект абстрактного класса нельзя.
Делайте класс, наследуйте его от Abstract (NewClass->Abstract). Сделайте в нем реализацию метода print_msg(). Создайте объект этого класса и передавайте в функцию указатель на этот объект. В функции же вызывайте метод print_msg();

class Abstract{ //Абстрактный класс
public:virtual void print_msg()=0;
};

class Planet : public Abstract{
void print_msg(){//реалізація віртуальної функціїї в класі
cout<<" Virtual'na fynkciya";
}
}

int main()
{


}


теперь нужно создать полиморфную функцию, аргументом которой будет класс Абстракт..и нужно еще вызвать ее из меина наверное
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
14.11.2012, 19:43 6
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
#include <iostream>
using namespace std;
class Abstract{ //Абстрактный класс
public:virtual void print_msg()=0;
};
 
class Planet : public Abstract{
    void print_msg(){//реалізація віртуальної функціїї в класі
        cout<<"\tClass Planet\n";
    }
};
class Meteor : public Abstract{
    void print_msg(){//реалізація віртуальної функціїї в класі
        cout<<"\tClass Meteor\n";
    }
};
 
void foo(Abstract *p){
    p->print_msg();
}
 
int main()
{
    Meteor m;
    Planet p;
    foo(&p);
    foo(&m);
    cin.get();
}
1
14.11.2012, 19:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2012, 19:43
Помогаю со студенческими работами здесь

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть...

excel. создать таблицу значение кусочно-непрерывной функции y на интервале [xmin; xmax] с шагом h, для расчета функции y используя логические функции

Нестандартный вопрос.Как получить доступ к переменным функции из другой функции?
&lt;?php declare(ticks=1); function tick_handler() { print_r($_GLOBALS);//Печатает все переменные...

Как передавать в аргумент функции массив, и можно ли возвращать его из функции?
привет друзья! можно ли в VB 6.0 передавать в аргумент функции массив и можно ли возвращать его...


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

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

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