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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 4.93
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
#1

C++ ООП - C++

27.06.2010, 00:26. Просмотров 7106. Ответов 36
Метки нет (Все метки)

Просьба дать какую-нибудь интересную программу, дабы теста на курс ООП. Чтобы не из книжки, а реально придуманная про программистом, или начинающим) Зоопарк как предложили парню недавно не предлагать, ибо будет неинтересно) Заранее спасибо. Мне нужна только задача, а не сама программа)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2010, 00:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++ ООП (C++):

ООП на С++ - C++
Помогите пожалуйста!! Не понимаю как это сделать(( Создать программу с классом Student порождающий обьекты - данные об студентах...

ООП - C++
1) Для класса символьной строки определить отношение лексикографического порядка, перегрузив с помощью дружественной функции операцию «<» ...

ООП - C++
проблема в классе квадрат- ниже код, я не прошу его переписывать, попробуйте кто то у себя запустите и будьте добры скажите почему там...

ООП - C++
Привет всем, народ дайте какую-нибудь интересную задачку на ООП, (однообразные задачи из учебников достали уже), чтоб она затрагивала как...

ООП - C++
помогите пожалуйста лабу сделать. не понимаю чет как ее делать((( я 7 вариант

ООП - C++
помогите переделать программу в ООП, Создать класс, описывающий следующие понятие рабочий! фамилия,стаж,часовая зароботная плата,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.06.2010, 20:05  [ТС] #16
Вот что вырисовывается на данный момент:

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
Файл Classes.h
#include <iostream>
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;
        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 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&);
        friend std::istream& operator>>(std::istream&, Car&);
};
class Truck:virtual public Transport, virtual 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):Transport
        (_name, _max_speed, _num, _year),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 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 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
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
Файл Functions.h
#include <iostream>
#include <cstdlib>
#include <string>
#include "classes.h"
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="Car"; max_speed=_max_speed; num=4; year=_year; fuel="Benzin";
        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;
}
std::istream& operator>>(std::istream&str, Car&p)
{
    std::cout<<"Enter max speed: \n";str>>p.max_speed; std::cout<<"Enter year: \n";str>>p.year;
    std::cout<<"Enter mark: \n";str>>p.mark; std::cout<<"Enter country: \n";str>>p.country; 
    std::cout<<"Enter run: \n";str>>p.run; std::cout<<"Enter volume: \n";str>>p.volume;
    p.SetInfo(p.name,p.max_speed,p.num,p.year,p.fuel,p.mark,p.country,p.run,p.volume);
    return str;
}
 
void Truck::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 _Body_type)
{
    name="Truck"; max_speed=_max_speed; num=2; year=_year; fuel="Dizel"; mark=_mark;
    country=_country; cargo=_cargo; goods=_goods; Body_type=_Body_type;
}
std::ostream& operator<<(std::ostream&str, Truck&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<<"Cargo: "<< p.cargo <<'\n';
    str<<"Goods: "<< p.goods <<'\n'; str<<"Body_tipe: "<< p.Body_type <<'\n'; return str;
}
std::istream& operator>>(std::istream&str, Truck&p)
{
    std::cout<<"Enter max speed: \n";str>>p.max_speed;std::cout<<"Enter year: \n";str>>p.year;
    std::cout<<"Enter mark: \n";str>>p.mark; std::cout<<"Enter country: \n";str>>p.country; 
    std::cout<<"Enter cargo: \n";str>>p.cargo;std::cout<<"Enter goods: \n";str>>p.goods; 
    std::cout<<"Enter body tipe: \n";str>>p.Body_type;
    p.SetInfo(p.name,p.max_speed,p.num,p.year,p.fuel,p.mark,p.country,p.cargo, p.goods, p.Body_type);
    return str;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Файл Transport.cpp
#include <iostream>
#include <cstdlib>
#include <string>
#include "Functions.h"
int main()
{
    Car Ob(0,0,"",0,0,0,"","","");
    Truck Ob2(0,"","","",0,0,0,"","","");
    std::cin>>Ob;
    std::cout<<'\n';
    std::cin>>Ob2;
    std::cout<<Ob<<'\n';
    std::cout<<Ob<<'\n';
    std::cout<<"\n";
    std::cout<<Ob2<<'\n';
};
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2010, 20:49 #17
Lavroff, все методы класса Transport могут и должны быть реализованы в этом же классе. И не надо делать их виртуальными - их реализация во всех подклассах одинакова.
Это также относится к классу Auto.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.06.2010, 21:34  [ТС] #18
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Lavroff, все методы класса Transport могут и должны быть реализованы в этом же классе. И не надо делать их виртуальными - их реализация во всех подклассах одинакова.
Это также относится к классу Auto.
Хорошо. Так и будет сделано

Добавлено через 35 минут
Небольшие изменения.

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
//Файл Classes.h
#include <iostream>
const std::string CarName("Car");
const std::string TruckName("Truck");
const std::string CarFuel("Benzin");
const std::string TruckFuel("Dizel");
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: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 std::string GetFuel() const=0;
        std::string GetMark() const{return mark;}
        std::string GetCountry() const{return country;};
};
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 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 Truck:virtual public Transport, virtual 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):Transport
        (_name, _max_speed, _num, _year),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 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++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
27.06.2010, 21:57 #19
Эй, а зачем у тебя car наследует и от transport и от auto? Это же чушь. Сделай просто от Auto.

Добавлено через 7 минут
Смотрю у тебя полиморфизма нет... Можешь заюзать например так: сделай еще парочку классов, какой нить мерс да запорожец, пусть они оба умеют делать какоенить действие (виртуальный метод класса car), но по-разному (две различные реализации в соответствующих классах). Пусть бибикают хотя бы, на что фантазии хватит. Потом например сделай массив указателей типа car, понасоздавай динамически рандомных машин, запихай в него. Позапускай методы. Понаслаждайся видом того как одинаковые внешне штуки делают похожие действия по-разному.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.06.2010, 22:10  [ТС] #20
Хохол, Точно. Что-то увлекся совсем наследованием. Попробую ща сделать с полиморфизмом
easybudda
27.06.2010, 22:40
  #21

Не по теме:

Цитата Сообщение от Хохол Посмотреть сообщение
какой нить мерс да запорожец, пусть они оба умеют делать какоенить действие (виртуальный метод класса car), но по-разному (две различные реализации в соответствующих классах).
Ага... В мерине сигнализация с пульта включается, а в запорожце собаку в салоне запирают...

Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
27.06.2010, 22:47 #22
Ну так пропишем это в реализации!
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.06.2010, 22:58  [ТС] #23
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
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2010, 23:00 #24
Lavroff, по какой причине методы GetName и GetNum не реализованы в базовом классе?
Осмысленно используй переходы на новую строку - в текущем варианте текст сливается.
Используй табличный стиль оформления кода:
C++
1
2
3
4
std::string name;      // Название транс средства
double      max_speed; // Максимальная скорость
int         num;       // Количество пассажиров
int         year;      // Год выпуска
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.06.2010, 23:03  [ТС] #25
CyBOSSeR, А зачем их реализовывать? Они делают класс абстрактным. В производных классах эти методы возвращают именованные константы.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
27.06.2010, 23:04 #26
Что-то у тебя Ob ни разу не используется.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.06.2010, 23:06  [ТС] #27
Цитата Сообщение от Хохол Посмотреть сообщение
Что-то у тебя Ob ни разу не используется.
Не могу врубить как его использовать. Ща подумаю
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
27.06.2010, 23:07 #28
Подсказка: "->"
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
27.06.2010, 23:13  [ТС] #29
Хохол,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
#include <string>
#include <windows.h>
#include "Functions.h"
int main()
{
    setlocale(LC_ALL, "Russian");
    Car*Ob;
    Ob=new Ferrari(1500, 150, "","",160, 0, 1990, "", "Жигули","Россия");
    std::cout<<"For ferrari exit is: "<< Ob->ExitPilot() <<'\n';
    delete Ob;
    std::cout<<"\n";
    Ob=new Lada(1500, 150, "","",160, 0, 1990, "", "Жигули","Россия");
    std::cout<<"For lada exit if: "<< Ob->ExitPilot() <<'\n';
    std::cout<<"\n";
    delete Ob;
    return 0;
}
Все решил не переписывать, а конкретно эта функция вот
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.06.2010, 23:34 #30
Цитата Сообщение от Lavroff Посмотреть сообщение
CyBOSSeR, А зачем их реализовывать?
Базовый класс должен предоставлять реализацию по умолчанию для большинства методов. Производные классы, при необходимости могут переопределить реализацию по умолчанию.
В твоем случае указанные методы без проблем могут быть реализованы в базовом классе.
Цитата Сообщение от Lavroff Посмотреть сообщение
Они делают класс абстрактным.
Абстрактность класса не должна быть самоцелью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2010, 23:34
Привет! Вот еще темы с ответами:

ООП - C++
Создать класс Vegetable, содержащий следующие элементы: - поле «вес» float Mass; - поле «зрелость» int Ripeness; - метод получения...

по ООП . - C++
Помогите пожалуйтса с решением задач ! на С++ 1.Дана неубывающая последовательность действительных чисел. Вставить в неё...

ООП - C++
Подскажите статью или книгу где рассказывается про динамические списки (с указателями,ссылками,динамической памятью и классами знаком)

ООП - C++
Прочитал в википедии про ООП, но так толком и не понял. Подскажите, чем является создание программ с интерфейсом, допустим как калькулятор...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.06.2010, 23:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru