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

абстрактный базовый класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нахождение последнего отрицательного элемента массива http://www.cyberforum.ru/cpp-beginners/thread100384.html
Программа ищет последний отрицательного элемент массива. Не могу понять ошибки программы: 3 from F:\...\2_17.C In file included from C:/Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.2/../../../../include 32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section...
C++ как ортировать массив чтобы выдавало только елементы стоящие на нечетных позициях ? как ортировать массив чтобы выдавало только елементы стоящие на нечетных позициях ? http://www.cyberforum.ru/cpp-beginners/thread100358.html
оператор find в stl C++
Допустим у меня есть такой код: #include <vector> #include <algorithm> #include <string> #include <windows.h> #include <iostream> using namespace std; class Student
C++ сортировка массива
из исходного массива создать массив состоящий из четных еллементов стоящих в нечетных местах.на примере етого {p=random(24)-10; printf("%4d",p); if (p>0 && (p%2!=0)) {x=p; count++; } зараннее благодарен
C++ Какую площадь и периметр будет квадрат, описанный вокруг круга заданной площади S http://www.cyberforum.ru/cpp-beginners/thread100324.html
Какую площадь и периметр будет квадрат, описанный вокруг круга заданной площади S.
C++ совсем НОВИЧОК! помогите пожалуйста решить 2 задачи! нужно до 18:00 2 марта Напишите программу, использующую рекурсивную функцию, которая определяет является ли заданное натуральное число простым. Входные данные: Натуральное число x. Выходные данные: Сообщение YES, если число x является простым числом. И сообщение NO в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами. ... подробнее

Показать сообщение отдельно
Genius Ignat
1234 / 772 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
02.03.2010, 13:02     абстрактный базовый класс
Sekt:
Твой замысел мне не понятен, это я насчет чисто виртуальной функции.
И каким макаром её можно вызвать если объекты базового класса создавать нельзя,
чистые виртуальные должны реализовываться в производных, это не строгое правило,
но просто функцию базового класса ты не вызовешь по любому.

Добавлено через 17 минут
Задача на 2 рубля 50 копеек.

Добавлено через 2 минуты
Задача из разряда академических.

Добавлено через 32 минуты
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
#include <iostream.h>
#define interface struct
 
 
interface IVolume {
virtual ~IVolume(){};
virtual double FindVol(double x, double y, double t) = 0;
};
 
 
class CParall : public IVolume{
public:
CParall(){ cout<<"CParall type obj create\n";  }
virtual ~CParall(){ cout<<"CParall type obj destroy\n"; }
virtual double FindVol(double x, double y, double t){ return x*y*t;}
};
 
 
//В этом классе не вижу логики, ну поформуле так получается.
class CPyramid : public IVolume {
public:
CPyramid() { cout<<"CPyramid type obj create\n";  }
virtual  ~CPyramid() { cout<<"CPyramid type obj destroy\n"; }
virtual double FindVol(double x, double y, double t){ return x*y*t;}
};
 
class CSphere : public IVolume {
public:
CSphere() { cout<<"CSphere type obj create\n"<<'\n';  }
virtual   ~CSphere() { cout<<"CSphere type obj destroy\n"; }
virtual double FindVol(double x, double y, double t){
    y = 0;
    t = 0;
    return (4*3.14*x/3)/3; 
}
 
 
};
 
 
 
 
 
int main(){
const int size = 3;
CParall *cp = new CParall ;
CPyramid *cpyr = new CPyramid ;
CSphere  *cs = new CSphere ;
IVolume *i_ptr[size] = {cp,cpyr,cs};
cout<<i_ptr[0]->FindVol(2,3,4)<<'\n';
cout<<i_ptr[1]->FindVol(2,3,2)<<'\n';
cout<<i_ptr[2]->FindVol(5,0,0)<<'\n';
cout<<'\n';
for(int i =0;i<size;i++)delete i_ptr[i];
cout<<'\n';
return 0;
}
 
Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru