Форум программистов, компьютерный форум 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
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
27.06.2010, 22:58  [ТС]     C++ ООП
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
95
96
97
98
99
100
101
102
103
//Классы
#include <iostream>
const std::string CarName("Car");
const std::string TruckName("Truck");
const std::string CarFuel("Benzin");
const std::string TruckFuel("Dizel");
const std::string ExitFer("Не вылетает");
const std::string ExitLada("Через лобовое стекло");
const int CarNum=4;
const int TruckNum=2;
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 std::string GetName() const=0;
        double GetSpeed() const{return max_speed;}
        virtual int GetNum() const=0;
        int GetYear() const{return year;}
};
class Auto: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 std::string GetFuel() const=0;
        std::string GetMark() const{return mark;}
        std::string GetCountry() const{return country;};
};
class Car:public Auto
{
protected:
        double run;//Пробег
        double volume;// Объем багажника
        std::string exit;//Выход пилота при аварии
public:
        Car (double _run, double _volume, std::string _exit, std::string _name, double _max_speed, int _num, int _year,
                std::string _fuel, std::string _mark, std::string _country):Auto(_fuel,_mark,_country,_name,
                _max_speed,_num,_year),run(_run),volume(_volume),exit(_exit){}
        ~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, std::string Exit);
        virtual std::string ExitPilot(){return exit;}
        virtual std::string GetName() const {return CarName;}
        virtual int GetNum() const {return CarNum;}
        virtual std::string GetFuel() const {return CarFuel;}
        double GetRun() const {return run;}
        double GetVolume() const {return volume;}
        friend std::ostream& operator<<(std::ostream&, Car&);
        friend std::istream& operator>>(std::istream&, Car&);
};
class Ferrari:public Car
{
public:
    Ferrari(double _run, double _volume,std::string _exit, std::string _name, double _max_speed, int _num, int _year, 
        std::string _fuel, std::string _mark, std::string _country):Car(_run,_volume, _exit, _name,_max_speed,_num,
        _year,_fuel,_mark,_country){}
    ~Ferrari(){}
    std::string ExitPilot(){return ExitFer;}
};
class Lada:public Car
{
public:
    Lada(double _run, double _volume,std::string _exit, std::string _name, double _max_speed, int _num, int _year, 
        std::string _fuel, std::string _mark, std::string _country):Car(_run,_volume, _exit, _name,_max_speed,_num,
        _year,_fuel,_mark,_country){}
    ~Lada(){}
    std::string ExitPilot(){return ExitLada;}
};
class Truck:public Auto
{
private:
    double cargo;//Грузоподъемность
    std::string goods;//Что перевозит
    std::string Body_type;//Тип кузова
public:
    Truck(double _cargo, std::string _goods, std::string _Body_type, std::string _name, double _max_speed,
        int _num, int _year, std::string _fuel, std::string _mark, std::string _country):Auto(_fuel,_mark,
        _country,_name,_max_speed,_num,_year), cargo(_cargo), goods(_goods), Body_type(_Body_type){}
    ~Truck(){}
    virtual void SetInfo(std::string _name, double _max_speed, int _num, int _year, std::string _fuel,
        std::string _mark, std::string _country, double _cargo, std::string _goods, std::string _BT);
    virtual std::string GetName() const {return TruckName;}
    virtual int GetNum() const{return TruckNum;}
    virtual int GetYear() const {return year;}
    virtual std::string GetFuel() const {return TruckFuel;}
    double GetCargo() const {return cargo;}
    std::string GetGoods() const {return goods;}
    std::string GetBT() const {return Body_type;}
    friend std::ostream& operator<<(std::ostream&, Truck&);
    friend std::istream& operator>>(std::istream&, Truck&);
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdlib>
#include <string>
#include <windows.h>
#include "Functions.h"
int main()
{
    setlocale(LC_ALL, "Russian");
    Car*Ob;
    Ob=new Ferrari(150000,0,"","",300, 0, 2006, "", "Феррари", "Забугорье");
    Ferrari T(150000, 0,"","",300, 0, 2006, "", "Феррари", "Забугорье");
    std::cout<<T<<'\n';
    delete Ob;
    std::cout<<"\n";
    Ob=new Lada(1500, 150, "","",160, 0, 1990, "", "Жигули","Россия");
    Lada S(1500, 150, "","",160, 0, 1990, "", "Жигули","Россия");
    std::cout<<S<<'\n';
    std::cout<<"\n";
    delete Ob;
    return 0;
}
Ну вот нечто из ряда полиморфизма)

Функция вылет водителя при аварии, реализована как виртуальная в car, и в двух производных классах Ferrari и Lada
 
Текущее время: 21:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru