Advertisement
Derga

Untitled

May 21st, 2023
1,023
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. //Билет 6
  2. //Дружетвенные функции
  3. /*
  4. Дружественные функции - это функции, которые не являются членами класса,
  5. однако имеют доступ к его закрытым членам - переменным и функциям, которые имеют спецификатор private.
  6. Для определения дружественных функций используется ключевое слово friend.
  7. */
  8.  
  9. #include <iostream>
  10.  
  11. class Auto {
  12.     friend void drive(const Auto&);
  13.     friend void setPrice(Auto&, unsigned);
  14. public:
  15.     Auto(std::string autoName, unsigned autoPrice) {
  16.         name = autoName;
  17.         price = autoPrice;
  18.     }
  19.  
  20.     void print() {
  21.         std::cout << name << " : " << price << std::endl;
  22.     }
  23.  
  24. private:
  25.     std::string name;   // название автомобиля
  26.     unsigned price;  // цена автомобиля
  27. };
  28.  
  29. void drive(const Auto& car) {
  30.     std::cout << car.name << " is driven" << std::endl;
  31. }
  32.  
  33. void setPrice(Auto& car, unsigned price) {
  34.     car.price = price;
  35. }
  36.  
  37. int main() {
  38.     Auto tesla("Tesla", 5000);
  39.     tesla.print();
  40.     drive(tesla);
  41.     setPrice(tesla, 4000);
  42.     tesla.print();
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement