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

Абстрактные классы, виртуальные функции - C++

Восстановить пароль Регистрация
 
Inconflict
0 / 0 / 0
Регистрация: 30.05.2012
Сообщений: 7
06.06.2012, 19:34     Абстрактные классы, виртуальные функции #1
Собственно сабж. нужна достаточно простая(не важно что выполняющая) программа с использованием абстрактных классов и виртуальных функций, было бы классно с комментариями, помогите ссылочкой)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 19:34     Абстрактные классы, виртуальные функции
Посмотрите здесь:

C++ Виртуальные функции. Абстрактные классы.
C++ Абстрактные классы
C++ Виртуальные абстрактные базовые классы
C++ Абстрактные классы
Виртуальные функции и классы C++
Написать код используя массивы, указатели, виртуальные функции, наследование, классы и т.д C++
C++ Абстрактные классы и чистые виртуальные функции
C++ Абстрактные классы. Виртуальные функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
06.06.2012, 20:35     Абстрактные классы, виртуальные функции #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
#include <iostream>
#include <vector>
#include <memory>
#include <algorithm>
 
using std::cout;
using std::endl;
 
class Animal { // Абстрактный класс "животное"
public:
    virtual void say() const = 0;   // Животное может нам что-то сказать
};
 
typedef std::unique_ptr<Animal> aptr;  // Указатель на животное, сам уничтожит объект, когда он больше не нужен
 
class Dog: public Animal {  // Собачка, гавкает
public:
    virtual void say() const {cout << "Woof! Woof! Bark! Bark!" << endl;}
};
 
class Cat: public Animal {  // Киса, мяукает
public:
    virtual void say() const {cout << "Meow! Meow!" << endl;}
};
 
int main()
{
    std::vector<aptr> animals;   // Животные
    // Заведём себе кошечку и собачку
    animals.push_back(aptr(new Dog));
    animals.push_back(aptr(new Cat));
   // Дадим им высказаться
   std::for_each(animals.begin(), animals.end(), [] (aptr& animal) {animal->say();});
}
на LWS
Yandex
Объявления
06.06.2012, 20:35     Абстрактные классы, виртуальные функции
Ответ Создать тему
Опции темы

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