Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868

Не работает virtual

14.06.2010, 14:33. Показов 2414. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот написал пробный код, он не срабатывает:
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
#include <iostream>
using namespace std;
 
class A{
public:
virtual int c();
    int a;
    
    
};
 
class B:public A{
public:
    int c() {return 4;}
};
 
 
 
int main()
{
    setlocale(0,"");
    cout<<"Привет Ромео!";
    B *ob = new B;
    ob->c();
    cin.get();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2010, 14:33
Ответы с готовыми решениями:

Protected abstract virtual base pure virtual private destructor
Хай, all) Вопрос не для начинающих и дурацкий) В разделе для экспертов публиковать не стал, чтобы не засорять его) Наткнулся тут на...

В VirtualBox не работает Ubuntu 13.10
Привет. Устанавливала на VirtualBox Ubuntu 13.10 32битную версию, под свою систему. Но она просто не работает. При установке...

Не работает подключение через Virtual Wi-Fi
Всем привет. В общем настроил точку доступа способом Virtual WiFi, который описан тут: Виртуальный WiFi в Windows 7 Вот что получилось у...

11
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
14.06.2010, 14:43
Вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
class A{
public:
    virtual int c() = 0;
        int a;      
};
 
class B:public A{
public:
        int c() {return 4;}
};
  
int main()
{
        setlocale(0,"");
        
        B *ob = new B;
        cout<<"Привет Ромео!" << " + " << ob->c(); 
        cin.get();
}
1
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
14.06.2010, 14:54
Syltan,
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
#include <iostream>
 
class A
{
public:
    virtual void print()
    {
        std::cout << "HELLO WORLD" << std::endl;
    }
};
 
class B : public A
{
public:
    void print()
    {
        std::cout << "BYE WORLD" << std::endl;
    }
};
 
int main()
{
    A *ptr = new A;
    ptr->print();
    delete ptr;
    ptr = new B;
    ptr->print();
    delete ptr;
    return 0;
}
1
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
14.06.2010, 15:04  [ТС]
Попробовал написать ещё такой код, о нне срабатывает.
Code
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 <iostream>
using namespace std;
 
class A{
    
public: 
virtual int c()=0;
    int a;
    void sad() {cout<<"Hello Russia";}
};
 
class B:public A{
    
public: 
    int c() {return 4;}
void sad() {cout<<"Hello!";}
};
 
int main()
{
    setlocale(0,"");
    B *ob = new B;
    cout<<ob->c()<<endl;
    ob->sad();
    A * ob10 = new A;
    ob10->sad();
    cin.get();
}
0
#define книжный_червь Я
 Аватар для ][акер
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
14.06.2010, 17:29
C++
1
virtual int c()=0;
Ты знаешь чё это означает? Это ЧИСТАЯ ВИРТУАЛЬНАЯ функция. Если в классе хоть одна чистая виртуальная функция, то нельзя будет вызывать все функции и нельзя будет обращаться к данным! Хочешь чтобы работало? Напиши вместо этого вот это:
C++
1
virtual int c();
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
14.06.2010, 17:32
][акер, и че ты написал ? чистая виртуальная функция лишь запрещает создание объектов абстрактного класса, всё у него в коде работает.
0
#define книжный_червь Я
 Аватар для ][акер
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
14.06.2010, 17:34
C++
1
2
A * ob10 = new A; // Выделяет память объекту. ОШИБКА!
 ob10->sad(); // Тоже ошибка!
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
14.06.2010, 17:50
][акер, xD я про код Mr.X вобще ))
0
Заблокирован
14.06.2010, 18:12
Цитата Сообщение от ][акер Посмотреть сообщение
C++
1
2
A * ob10 = new A; // Выделяет память объекту. ОШИБКА!
 ob10->sad(); // Тоже ошибка!
вторая ошибка из-за того что обьект ob10 не был создан, а написал он нормально вроде бы, только зачем то пытается в main создать обьект абстрактного класса.
Попробуй так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main(){
 
        setlocale(0,"");
 
        B *ob = new B;
        ob->sad();
        cout<<endl;
        A * ob10 = new B;
        ob10->sad();
 
        cin.get();
}
0
#define книжный_червь Я
 Аватар для ][акер
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
14.06.2010, 18:14
Цитата Сообщение от rrrFer Посмотреть сообщение
A * ob10 = new B; ob10->sad();
Получится, но только выведет "Hello", а не "Hello Russia", как Syltan хочет.
0
Заблокирован
14.06.2010, 18:47
][акер, проверь сначала

Добавлено через 3 минуты
и перечитай пост от Андрейка
0
#define книжный_червь Я
 Аватар для ][акер
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
14.06.2010, 19:04
А блин! Это же не виртуальная функция! Не заметил! Извиняюсь!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2010, 19:04
Помогаю со студенческими работами здесь

<!--#include virtual='menu.inc> не работает
Привет всем! Есть виртуальный каталог whs, где лежит файл menu.inc, в default.asp пишу: &lt;!--#include virtual='menu.inc&gt; ...

Virtual box wifi не работает
Установил debian, win7. Не видет ни там, ни там wifi, только локальную сеть. Как исправить ситуацию?

Не работает js при использовании virtual host
Добрый день - прошу помощи в таком вопросе. В данный момент существует сайт www.company.com на wp - встала задача сделать ещё один сайт на...

Не работает DbgView в виртуалке (Virtual Box)
Здравствуйте. Работаю в виртаальной Собственно проблема - не работает отладочный вывод DbgPrint. Или программа DbgView его не видит....

Переход с Virtual Pc на Vwmare 7.0 не работает мышь
Добрый день. У меня есть виртуальная машина Virtual PC 2007. Недавно начал пользоваться Vmware. Решил импортировать в нее машину Virtual...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru