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

Определение принадлежности объекта нужному классу

12.12.2016, 20:47. Показов 887. Ответов 1

В общем, тема проста. Есть два виртуальных метода: classname() и IsA(string Name). В чем разница, если в указанном месте ( стрелка в коде ) часть строки будет изменена на " Name == A::classname()" ? Заранее спасибо
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class A
{
private:
    string name = "classA";
public:
    void Action() 
    {
        cout << name << " did something once" << endl;
    }
 
virtual void Action2() 
    {
        cout << name << " did something twice" << endl;
    }
 
    void Action3() 
    {
        cout << name << " did something third" << endl;
    }
 
virtual string classname(){ return name; }
 
virtual bool IsA(string Name)
{
    if(Name == name) return true;
}
 
    A(){}
 
    A(char *Name) { name = Name;}
 
    A(A &p) { name = p.name; }
 
    A(A *p) { name = p->name;}
 
virtual ~A(){}
 
};
 
class B: public A
{
private:
    string name = "classB";
public:
    virtual void Action2()
    {
        cout << name << " did something twice too" << endl;
    }
 
    void Action3()
    {
        cout << name << " did something third too" << endl;
    }
    
    virtual string classname(){ return name; }
 
 
    virtual bool IsA(string Name)
    {   
        if(Name == name || A::IsA(Name) ) // <<----------!!!!
             return true;
    }
};
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2016, 20:47
Ответы с готовыми решениями:

Проверка принадлежности к классу
В Java есть ф-я instanceof. Есть ли подобная в С++?

Проверка принадлежности объекта к классу
class Mineral: def show(self): print(&quot;Минерал:&quot;) ...

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

Сортировка массива объектов по принадлежности к классу
Есть 3 класса, у которых общим является интерфейс, который они реализуют. Создаётся массив объектов...

1
Модератор
Эксперт С++
12478 / 10032 / 6035
Регистрация: 18.12.2011
Сообщений: 26,849
12.12.2016, 21:06 2
В этом методе ошибка
1.В А:
C++
1
2
3
4
5
6
virtual bool IsA(string Name)
{
    if(Name == name) 
         return true;
    return false; // !!!!!!!!!!!!!!
}
2.В В:
C++
1
2
3
4
virtual bool IsA(string Name)
    {   
        return (Name == name || Name==A::name); // <<----------!!!!
    }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2016, 21:06
Помогаю со студенческими работами здесь

Определение принадлежности точки
Помогите пожалуста :cry: Написать программу которая определяет принадлежит ли точка с координатами...

Определение принадлежности точки области
Пользователь вводит целые числа x и y. Составить программу, которая определяет, принадлежит ли...

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

Определение принадлежности точки многоугольнику
Объясните что такое метод суммирования углов. Или просто Метод углов


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

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

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