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

C++ ООП - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ [C++] Регулярные выражения http://www.cyberforum.ru/cpp-beginners/thread149699.html
Знаю что в стандарте С нет регулярных выражений. Хочу попробывать собрать простую функцию поиска по шаблону регулярных выражений. Аналог int preg_match_all ( string $pattern , string $subject , array &$matches ] ) (шаблон, строка, массив) (pattern,subject,outarray)
C++ Include gurad В моей программе, при попытке использования сабжа, происходит ошибка. Для проверки я составил следующий код. //hd1.h #ifndef hd1 #define hd1 #include "hd2.h" class hd1 { public: http://www.cyberforum.ru/cpp-beginners/thread149686.html
Как назывался компилятор типаBorland Pascal только для C++ C++
Там такое же синие окошечко было?
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? C++
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять?
C++ Каталог товаров (Dev-C++) http://www.cyberforum.ru/cpp-beginners/thread149660.html
создать программу,позволяющую вводить элементы массива структур(размерность массива не более 20 элементов),содержащие сведения об имеющихся в наличии товарах,наименовании товара,его количество в штуках и цену еденицы товара,и определяющую суммарную цену имеющегося в наличии товара по задаваемому наименованию.
C++ Синтаксические ошибки при компиляции программы на структуру #include <iostream> #include <string.h> #define n 4; using namespace std; struct OIL{ char marka; int litri; int cena; }; OIL oil; подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.06.2010, 05:05  [ТС]     C++ ООП
Цитата Сообщение от ISergey Посмотреть сообщение
Деструктор должен бить virtual.!
Ок. Будет virtual. В каждом абстрактном классе?

Добавлено через 35 минут
Кхм. Отмена. Буду налаживать работу хотя бы этих трех классов пока что.

Добавлено через 22 минуты
Работает. Приблизительно так?

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <cstdlib>
#include <string>
class Transport
{
protected:
    std::string name;//Название транс средства
    double max_speed;//Максимальная скорость
    int num;//Колличество пассажиров
    int year;//Год выпуска
public:
    Transport(std::string _name, double _max_speed, int _num, int _year):name(_name),max_speed(_max_speed),
        num(_num), year(_year){}
    virtual ~Transport(){}
    /*virtual void SetInfo(char _name[], double _max_speed, int _num, int _year)=0;*/
    virtual std::string GetName() const=0;
    virtual double GetSpeed() const=0;
    virtual int GetNum() const=0;
    virtual int GetYear() const=0;
};
class Auto:virtual public Transport
{
protected:
    std::string fuel;//Топливо
    std::string mark;//Страна
    std::string country;//Производитель
public:
    Auto(std::string _fuel, std::string _mark, std::string _country, std::string _name, double _max_speed,
        int _num, int _year):Transport(_name,_max_speed,_num,_year),fuel(_fuel),mark(_mark),country(_country){}
    virtual ~Auto(){}
    //virtual void SetInfo(std::string _name, double _max_speed, int _num, int _year, std::string _fuel,
    //  std::string _mark, std::string _country)=0;
    virtual std::string GetFuel() const=0;
    virtual std::string GetMark() const=0;
    virtual std::string GetCountry() const=0;
};
class Car:virtual public Transport, public Auto
{
protected:
    double run;//Пробег
    double volume;// Объем багажника
public:
    Car (double _run, double _volume, std::string _name, double _max_speed, int _num, int _year,
        std::string _fuel, std::string _mark, std::string _country):Transport(_name,_max_speed,
        _num,_year),Auto(_fuel,_mark,_country,_name,_max_speed,_num,_year),run(_run),volume(_volume){}
    ~Car(){}
    virtual void SetInfo(std::string _name, double _max_speed, int _num, int _year, std::string _fuel,
        std::string _mark, std::string _country, double _run, double _volume);
    virtual std::string GetName() const {return name;}
    virtual double GetSpeed() const {return max_speed;}
    virtual int GetNum() const {return num;}
    virtual int GetYear() const {return year;}
    virtual std::string GetFuel() const {return fuel;}
    virtual std::string GetMark() const {return mark;}
    virtual std::string GetCountry() const {return country;}
    double GetRun() const {return run;}
    double GetVolume() const {return volume;}
    friend std::ostream& operator<<(std::ostream&, Car&);
};
void Car::SetInfo(std::string _name, double _max_speed, int _num, int _year, 
std::string _fuel, std::string _mark, std::string _country, double _run, double _volume)
{
    name=_name; max_speed=_max_speed; num=_num; year=_year; fuel=_fuel;
    mark=_mark; country=_country; run=_run; volume=_volume;
}
std::ostream& operator<<(std::ostream&str, Car&p)
{
    str<<"Name: "<< p.name <<'\n'; str<<"Max_speed: "<< p.max_speed <<'\n';
    str<<"Num: "<< p.num <<'\n'; str<<"Year: "<< p.year <<'\n';
    str<<"Fuel: "<< p.fuel <<'\n'; str<<"Mark: "<< p.mark <<'\n';
    str<<"Country: "<< p.country <<'\n'; str<<"Run: "<< p.run <<'\n';
    str<<"Volume: "<< p.volume <<'\n'; return str;
}
int main()
{
    using namespace std;
    Car Ob(0,0,"",0,0,0,"","","");
    string name, fuel, mark, country;
    int year=0, num=0;
    double max_speed=0, run=0, volume=0;
    cout<<"Enter name: ";getline(cin,name);
    cout<<"Enter max_speed: ";cin>>max_speed;
    cout<<"Enter num: ";cin>>num;
    cout<<"Enter year: ";cin>>year;
    while(getchar()!='\n')continue;
    cout<<"Enter fuel: ";getline(cin,fuel);
    cout<<"Enter mark: ";getline(cin, mark);
    cout<<"Enter country: ";getline(cin,country);
    cout<<"Enter run: ";cin>>run;
    cout<<"Enter volume:";cin>>volume;
    Ob.SetInfo(name,max_speed,num,year,fuel,mark,country,run,volume);
    cout<<"\n";
    cout<<Ob<<'\n';
};
 
Текущее время: 23:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru