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

Дружественная функция - C++

Войти
Регистрация
Восстановить пароль
 
TR0JlNk
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 36
14.10.2012, 13:53     Дружественная функция #1
описать классы автомобиль и маршрут. Использовать дружественную функцию определить количество потраченного топлива и время на преодоление данного маршрута автомобиля
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
14.10.2012, 14:11     Дружественная функция #2
И в чем же вопрос?
TR0JlNk
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 36
14.10.2012, 14:20  [ТС]     Дружественная функция #3
Не понимаю суть дружественной функции... я описал 2 класса, а дружественную функцию куда втулить не знаю ((
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
14.10.2012, 14:26     Дружественная функция #4
В описании класса пишешь: friend void func( int );
TR0JlNk
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 36
14.10.2012, 14:28  [ТС]     Дружественная функция #5
а класс любой or оба ?
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
14.10.2012, 14:34     Дружественная функция #6
В каком классе опишешь, другом того она и будет. Хоть в трех классах опиши.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.10.2012, 14:44     Дружественная функция #7
Что-то похожее. Правда, вышло так, что пришлось еще и классы дружественными объявлять.
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
#include <iostream>
 
class car
{
 public:
 double fuel; // пусть 8л на 100 км
 int speed; //км/ч
 friend class way;
 friend void func(car&,way&);
};
class way
{
 public:
 double time;
 int distance; //расстояние
 friend void func(car&,way&);
};
 
void func(car &a,way &b)
{
 std::cout<<(b.time=b.distance/a.speed)<<std::endl;
 std::cout<<(a.fuel=8*b.distance/100)<<std::endl;
}
 
int main()
{
 car a;
 a.speed=119;
 way b;
 b.distance=294;
 func(a,b);
 system("pause");
 return 0;
}
TR0JlNk
0 / 0 / 0
Регистрация: 21.02.2012
Сообщений: 36
14.10.2012, 14:56  [ТС]     Дружественная функция #8
ну можно было предложить ввод данных пользователю...но и за этот пример thanks.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2012, 14:58     Дружественная функция
Еще ссылки по теме:

Дружественная функция подсчета площадей C++
C++ Дружественная функция. Класс Passport
C++ Дружественная функция класса
C++ Дружественная функция
C++ Не вызывается дружественная функция

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

Или воспользуйтесь поиском по форуму:
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
14.10.2012, 14:58     Дружественная функция #9
TR0JlNk,
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
 car a;
 std::cin>>a.speed;
 way b;
 std::cin>>b.distance;
 func(a,b);
 system("pause");
 return 0;
}
Это уж совсем простой пример. Тут надо доработать формат вывода времени (часы, минуты), да и не смущает ли Вас, что члены класса открыты. Для этого дела бы еще конструктор какой-нибудь описать и т.д.
Yandex
Объявления
14.10.2012, 14:58     Дружественная функция
Ответ Создать тему
Опции темы

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