Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Билет 6
- //Дружетвенные функции
- /*
- Дружественные функции - это функции, которые не являются членами класса,
- однако имеют доступ к его закрытым членам - переменным и функциям, которые имеют спецификатор private.
- Для определения дружественных функций используется ключевое слово friend.
- */
- #include <iostream>
- class Auto {
- friend void drive(const Auto&);
- friend void setPrice(Auto&, unsigned);
- public:
- Auto(std::string autoName, unsigned autoPrice) {
- name = autoName;
- price = autoPrice;
- }
- void print() {
- std::cout << name << " : " << price << std::endl;
- }
- private:
- std::string name; // название автомобиля
- unsigned price; // цена автомобиля
- };
- void drive(const Auto& car) {
- std::cout << car.name << " is driven" << std::endl;
- }
- void setPrice(Auto& car, unsigned price) {
- car.price = price;
- }
- int main() {
- Auto tesla("Tesla", 5000);
- tesla.print();
- drive(tesla);
- setPrice(tesla, 4000);
- tesla.print();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement