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

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

Войти
Регистрация
Восстановить пароль
 
denpanov
2 / 2 / 0
Регистрация: 19.10.2012
Сообщений: 77
#1

Добавить дружественную функцию - C++

11.06.2014, 16:44. Просмотров 411. Ответов 7
Метки нет (Все метки)

Создать класс машина, имеющий марку (указатель на строку) , число цилиндров, мощность. Определить конструкторы, деструктор и функцию печати. Создать public- производный класс – грузовики, имеющий грузоподъемность кузова. Определить конструкторы по умолчанию и с разным числом параметров, деструкторы, функцию печати. Определить функции переназначения марки и грузоподъемности. Программа должна содержать меню.

Не могу добавить дружественную функцию.

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
#include <iostream>
#include <conio.h>
using namespace std;
class automob
{public:
int chislo;
char marka[20];
int mosh;
automob();
virtual void show();
};
class gruz: public automob
{
public:
int n;
gruz();
void show();
};
 
automob::automob()
{
 cout<<endl<<"Chislo:";
 cin>>chislo;
 cout<<endl<<"mosh:";
 cin>>mosh;
 cout<<endl<<"marka:";
 cin>>marka;
}
 
 void automob::show()
{
    cout<<endl<<"chislo:"<<chislo;
    cout<<endl<<"mosh:"<<mosh;
    cout<<endl<<"marka:"<<marka<<endl;
}
 
gruz::gruz()
{ cout<<endl<<"Gruzopodemnost:";
 cin>>n;
 
}
 
void gruz::show()
{
    cout<<endl<<"chislo:"<<chislo;
    cout<<endl<<"mosh:"<<mosh;
    cout<<endl<<"marka:"<<marka;
    cout<<endl<<"Gruzopodemnost:"<<n<<endl;
}
 
int main()
{
automob *sp;
gruz *sp1;
int n;
int t=1;
while (t!=0)
{//system("cls");
cout<<"***###   ###***";
cout<<endl<<"1. Vvod auto";
cout<<endl<<"2. Vivod auto";
cout<<endl<<"3. Vvod gruz";
cout<<endl<<"4. Vivod gruz";
cout<<endl<<"0. vihod"<<endl;
cin>>t;
 
    switch(t)
    {
        case 1:
            {   system("cls");
                cout<<endl<<"n=";
                cin>>n;
                sp=new automob[n];
            }
        break;
        case 2:
            {
                for(int i=0;i<n;i++)
                sp[i].show();
                cout<<endl;
            }
        break;
        case 3:
            {
                sp1=new gruz[n];
                cout<<endl;
            }
        break;
        case 4:
            {
                for(int i=0;i<n;i++)
                sp1[i].show();
                cout<<endl;
            }
        break;
    }}
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 16:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить дружественную функцию (C++):

Добавить дружественную функцию в программу - C++
Помогите переделать программу. Не могу добавить дружественную функцию. Задание. Создать два класса: целые(Integer) и матрица (int...

Как добавить дружественную функцию в класс - C++
Написал код, а как добавить функцию friend? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using namespace std; ...

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

Перегрузка операций (Создать класс вещественных чисел (double); определить оператор +, как функцию-элемент и – как дружественную функцию) - C++
помогите решить пожалуйста Задание 2. Бинарная операция Создать класс вещественных чисел (double).. Определить оператор +, как...

Передача параметров в дружественную функцию класса - C++
Всем доброго времени суток. Читал про дружественные функции, в учебнике по которому учусь написано, что в дружественную функцию класса...

Передать вектор объектов в дружественную функцию - C++
Я думаю передать вот так, но почему-то синтаксическая ошибка. filtr_tup(vector&lt;OC&gt;); #ifndef OC_H #define OC_H #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
11.06.2014, 16:45 #2
Цитата Сообщение от denpanov Посмотреть сообщение
Не могу добавить дружественную функцию
какую дружественную функцию?
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.06.2014, 16:48 #3
Цитата Сообщение от denpanov Посмотреть сообщение
Не могу добавить дружественную функцию.
Какую? К какому классу дружественную?
denpanov
2 / 2 / 0
Регистрация: 19.10.2012
Сообщений: 77
11.06.2014, 16:53  [ТС] #4
alsav22, aLarman не имеет значения, какую и к какому классу.
Нужно просто показать, что она есть и работает.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
11.06.2014, 16:56 #5
C++
1
2
3
4
5
6
7
8
friend ostream& operator<<(ostream & os, const gruz& r)
    {
        os<<endl<<"chislo:"<<chislo;
    os<<endl<<"mosh:"<<mosh;
    os<<endl<<"marka:"<<marka;
    os<<endl<<"Gruzopodemnost:"<<n<<endl;
        return os;
    }
юзать так в мейне
C++
1
 std::cout<<(*sp1)<<std::endl;
denpanov
2 / 2 / 0
Регистрация: 19.10.2012
Сообщений: 77
11.06.2014, 17:03  [ТС] #6
aLarman, можете объяснить os что такое?
и можете добавить в программу? не понял куда встраивать.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
11.06.2014, 17:16 #7
поток) почитайте на просторах инета про ostream, хотя я думаю Вам это вряд ли пригодится)

Добавлено через 17 секунд

Не по теме:

Цитата Сообщение от denpanov Посмотреть сообщение
и можете добавить в программу? не понял куда встраивать.
нет) додумайте сами

denpanov
2 / 2 / 0
Регистрация: 19.10.2012
Сообщений: 77
11.06.2014, 17:21  [ТС] #8
aLarman, просто мы ostream не проходили.
я не догоняю вообще эту дружественную.
В теории у нас только на уровне Class_1 friend Class_2 ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 17:21
Привет! Вот еще темы с ответами:

Как определить дружественную функцию шаблонного класса? - C++
Подскажите, пожалуйста, как определить дружественную функцию какого-то определенного шаблона? // например, делая это таким...

Можно ли объявить дружественную функцию как шаблон? - C++
Так всё работает: template&lt;class T&gt; class random { /*всячина*/ public: friend void function(random&lt;int&gt;&amp;); ...

Определить унарный оператор ++ как дружественную функцию - C++
Есть программа: #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; class Coord ...

Сделать дружественную функцию для критерия Кохрена - C++
Не знаю как сделать дружественную функцию для критерия кохрена, все остальное работает #include &lt;iostream&gt; #include &lt;math.h&gt; ...


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

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

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