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

Виртуальные методы - C++

Восстановить пароль Регистрация
 
bearwoolfs
 Аватар для bearwoolfs
15 / 15 / 2
Регистрация: 10.01.2011
Сообщений: 275
12.10.2011, 23:41     Виртуальные методы #1
Здраствуйте , вот писал виртуальный метод доступа но почему то не получаеться , подскажите почему ??? заранее спасибо

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
#include<iostream>
using namespace std;
 
class A
{
public:
 A();
 virtual ~A(){}
 virtual void One()const{cout<<"its ONE"<<endl;}
};
class B:public A
{
    public:
 B();
 virtual void One()const{cout<<"its TWO"<<endl;}
};
class C:public A
{
    public:
 C();
 virtual void One()const{cout<<"its THREE"<<endl;}
}; 
 
int main()
{
A* pt;
int choice,i;
for(i=0;i<3;i++)
{
    cout<<"enter choice"<<endl;
    cin>>choice;
    switch(choice)
    {
    case 1:pt=new A;
       break;
    case 2:pt=new B;
        break;
    case 3:pt=new C;
        break;
    }
}
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2011, 23:41     Виртуальные методы
Посмотрите здесь:

C++ виртуальные методы
Наследование и виртуальные методы C++
C++ Виртуальные методы
C++ Виртуальные методы
C++ Виртуальные методы(теория)
Виртуальные методы C++
Наследование и виртуальные методы C++
C++ Виртуальные методы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
12.10.2011, 23:47     Виртуальные методы #2
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
#include<iostream>
using namespace std;
 
class A
{
public:
    A(){};
 virtual ~A(){}
 virtual void One()const{cout<<"its ONE"<<endl;}
};
class B:public A
{
        public:
            B(){};
 virtual void One()const{cout<<"its TWO"<<endl;}
};
class C:public A
{
        public:
            C(){};
 virtual void One()const{cout<<"its THREE"<<endl;}
}; 
 
int main()
{
A* pt;
int choice,i;
for(i=0;i<3;i++)
{
        cout<<"enter choice"<<endl;
        cin>>choice;
        switch(choice)
        {
        case 1:pt=new A;
            pt->One();
           break;
    case 2:pt=new B;
            pt->One();
            break;
        case 3:
            pt=new C;
                pt->One();
                break;
        }
}
        return 0;
}
вот так работает. не забываем делать тело конструкторам. ну и вызов функции One() тоже)
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
12.10.2011, 23:52     Виртуальные методы #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//...
switch(choice)
{
    case 1:
        pt = new A;
        break;
 
    case 2 :
        pt = new B;
        break;
 
    case 3:
        pt = new C;
        break;
}
 
pt->One();
delete pt;
//...
Yandex
Объявления
12.10.2011, 23:52     Виртуальные методы
Ответ Создать тему
Опции темы

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