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

РАБОТА С ВИРТУАЛЬНЫМИ ФУНКЦИЯМИ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обработка строк в С++ http://www.cyberforum.ru/cpp-beginners/thread85506.html
Здравствуйте, а можете помочь решить такую задачу на С++, пожалуйста, очень нужно) Дана строка, представляющая предложение. Слова в предложении состоят из маленьких латинских букв. Между словами находится 1 или более пробел. Также после слова, кроме последнего, может следовать запятая ",". За последним словом идет точка ".". Проверить правильность ввода. Вывести все слова: начинающиеся и...
C++ Функция, которая увеличивает на Т секунд время Описать процедуру IncTime (H, M, S, T), которая увеличивает на Т секунд время, заданное в часах Н, минутах М и секундах S (H, M и S- входные и выходные параметры, Т- входной параметр; все параметры целые положительные). Дано время (в часах Н, минутах М, секундах S) и целое число Т. Используя процедуру IncTime, увеличить данное время на Т секунд и вывести новые значения Н, М, S. Помогите... http://www.cyberforum.ru/cpp-beginners/thread85496.html
C++ Оформление ФУНКЦИИ
Дан двумерный массив X. Cформировать одномерный массив Y, для элементов которого выполняется условие: 0<cos(Xij)<корня 3/2. Оформить в виде ФУНКЦИИ. #include<iostream.h> #include<math.h> #include<conio.h> const int n=3; void main ( ) {
C++ Для данных матриц А и В проверить соотношение А*В=Е
Для данных 2х матриц А и В проверить соотношение А*В=Е. (посути матрицы квадратные) Е - единичная матрица, тобиш матрица у которой на главной диагонали единицы (1) а в остальных ячейках нули (0). Нужен именно програмный код, но если можно не откажусь от блоксхемы к этому програмному коду)) Зараннее премного благодарю людей которые окажут помощь в решении))
C++ Просто нужно!!! http://www.cyberforum.ru/cpp-beginners/thread85470.html
Буду краток: необходимо Умножить матрицу на себя транспонированую!!!(без хранения транспонированной) Как в вышмате это сделать я понимаю, а вот на С как это выглядит, не пойму!!! Кто чем может_)))
C++ помогите! Три друга были свидетелями ДТП. Первый заметил, что номер на-рушителя делится на 2, 7 и 11. Второй запомнил, что в записи номера участвуют всего две различные цифры, а третий – что сумма цифр рав-на 30. Определить четырехзначный номер нарушителя вот задача ее надо решить с помощью указателей, помогиет пожалста) подробнее

Показать сообщение отдельно
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
14.01.2010, 15:29     РАБОТА С ВИРТУАЛЬНЫМИ ФУНКЦИЯМИ
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Ща поищем
стр.27
в примере в книге не был определён виртуальный деструктор в базовых классах-интерфейсах потому-что удаление объекта класса CA велось напрямую, а не через указатель на его базовый класс.
***
вот сорс-код из книги
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
#define interface struct
#include <iostream.h> 
#include <objbase.h>   // Определить интерфейс 
 
void trace(const char* pMsg) { cout << pMsg << endl; } 
 
// Абстрактные интерфейсы 
interface IX 
{ 
  virtual void __stdcall Fx1() = 0; 
  virtual void __stdcall Fx2() = 0; 
}; 
 
interface IY 
{ 
  virtual void __stdcall Fy1() = 0; 
  virtual void __stdcall Fy2() = 0; 
}; 
 
// Реализация интерфейса 
class CA : public IX,  
           public IY 
{ 
public: 
 
 // Реализация интерфейса IX 
  virtual void __stdcall Fx1() { cout << "CA::Fx1" << endl; } 
  virtual void __stdcall Fx2() { cout << "CA::Fx2" << endl; } 
 
 // Реализация интерфейса IY 
  virtual void __stdcall Fy1() { cout << "CA::Fy1" << endl; } 
  virtual void __stdcall Fy2() { cout << "CA::Fy2" << endl; } 
 
}; 
 
 
// Клиент 
int main() 
{ 
 trace("Клиент: Создание экземпляра компонента"); 
  CA* pA = new CA; 
 
  // Получить указатель IX 
  IX* pIX = pA; 
 
 trace("Клиент: Использование интерфейса IX"); 
 pIX->Fx1(); 
 pIX->Fx2(); 
 
  // Получить указатель IY 
  IY* pIY = pA; 
 
 trace("Клиент: Использование интерфейса IY"); 
 pIY->Fy1(); 
 pIY->Fy2(); 
 
 trace("Клиент: Удаление компонента"); 
 delete pA; 
 
 return 0; 
}
 
Текущее время: 01:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru