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

Научить метод принимать в качестве аргумента объект своего класса и дочерних классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выход итератора за границы list http://www.cyberforum.ru/cpp-beginners/thread1778338.html
почему у меня падает программа, когда пытаюсь ввести отсортированные элементы в другой list ??? list<char>ch; list<char>rev; for (int i = 0; i < 20; i++) ch.push_back('A' + rand() % 26); list<char>::iterator p = ch.begin(); while (p != ch.end()) {
C++ Наилучший делитель Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм их цифр, если число a меньше числа b. Например, число 124 лучше числа 123, так как у первого из них сумма цифр равна семи, а у второго – шести. Также, число 3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше. Дано число n. Найдите такой его делитель (само... http://www.cyberforum.ru/cpp-beginners/thread1778315.html
C++ Вывести количество совершенных чисел в интервале [a, b]
Число назывется совершенным, если оно равно сумме своих собственных делителей. Собственными делителями имеются ввиду те делители числа, которые строго меньше него. Например, число 28 совершенно, так как 28 = 1 + 2 + 4 + 7 + 14. Единица не считается совершенным числом. Заданы числа a и b. Вывести количество совершенных чисел в интервале . Можете предполагать, что a < b, a > 0, b > 0.
Найти ошибку в коде (ideone, C++) C++
Код для поиска в глубину.Всего на графе 7 вершин(не считая 0) В айдиван работает,НО,,,откуда-то берет еще 8-ую и 9-ую вершины, которых вообще не должно быть. В чем может быть ошибка? Код прилагается: using namespace std; const int n = 8; int i, j; bool *visited = new bool; int graph =
C++ Бинарное дерево, добавить функции удаления и поиска узла http://www.cyberforum.ru/cpp-beginners/thread1778238.html
Помогите! нужно. Пытался сделать сам но не очень получается доделать функции: удаление узла поиск элемента возврат самой длинной ветви(распечатка ее элементов) #include<iostream> using namespace std; struct binariTreea{
C++ Нарисовать прямоугольник звездочками Нарисуйте следующие фигуры ******** ******** ******** ******** ******** ******** ******** ******** параметризовать длиной и шириной подробнее

Показать сообщение отдельно
Unknownx
Заблокирован
09.07.2016, 21:59     Научить метод принимать в качестве аргумента объект своего класса и дочерних классов
Цитата Сообщение от JackLas Посмотреть сообщение
Как научить метод принимать в качестве аргумента объект своего класса и дочерних классов? Как их передавать при вызове метода?
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
#include <string>
#include <iostream>
using namespace std;
 
class parrent{
    public:
    virtual ~parrent(){}
    static string info(parrent *obj = 0){
        string name;
        parrent * ptr = dynamic_cast< parrent *>(obj);
        if( ptr != 0 )
            name = typeid(*obj).name();
        return name; 
    }
};
 
class child1 : public parrent{};
class child2 : public child1 {};
 
int main(){
    parrent p;
    child1  ch1;
    child2  ch2;
    cout<<parrent::info(&p)<<endl;
    cout<<parrent::info(&ch1)<<endl;
    cout<<parrent::info(&ch2)<<endl;
    return 0;
}
http://codepad.org/U55N0i2U
7parrent
6child1
6child2

Не по теме:

Добавлено через 3 минуты
Anglues113, как ты собрался отличать классы без кастования?
http://codepad.org/DOHS6b0i

 
Текущее время: 05:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru