Публичные и приватные модификаторы доступа | Уроки по C++

Try Proseoai — it's free
AI SEO Assistant
SEO Link Building
SEO Writing

Публичные и приватные модификаторы доступа | Уроки по C++

Содержание

  1. Публичный доступ в C++
  2. Приватный доступ в C++
  3. Пример использования публичного доступа
  4. Пример использования приватного доступа
  5. Функции-геттеры и функции-сеттеры
  6. Пример использования функций-геттеров и функций-сеттеров
  7. Инкапсуляция в объектно-ориентированном программировании
  8. Пример использования инкапсуляции
  9. Применение приватных функций
  10. Пример использования приватных функций
  11. Заключение

👉 Публичный доступ в C++

Публичный доступ в языке программирования C++ позволяет использовать и получать доступ к элементам класса извне класса. При использовании публичного доступа, переменные класса и функции-члены могут быть использованы не только внутри класса, но и в других частях программы. Для объявления публичного доступа используется ключевое слово public.

👉 Приватный доступ в C++

Приватный доступ в языке программирования C++ ограничивает использование и доступ к элементам класса только внутри самого класса. Переменные класса и функции-члены с приватным доступом не могут быть использованы в других частях программы, включая функции вне класса и другие классы. Для объявления приватного доступа используется ключевое слово private.

👉 Пример использования публичного доступа

Давайте рассмотрим пример использования публичного доступа в языке программирования C++. Представим класс Employee, который представляет сотрудников компании. Внутри класса у нас есть публичное поле name, которое представляет имя сотрудника.

class Employee {
public:
    string name;
};

В основной функции мы можем создать объект класса Employee и получить доступ к полю name, так как оно имеет публичный доступ:

Employee employee1;
employee1.name = "Kevin";
cout << employee1.name << endl; // Выведет "Kevin"

👉 Пример использования приватного доступа

Теперь рассмотрим пример использования приватного доступа в языке программирования C++. Внутри класса Employee у нас есть приватное поле salary, которое представляет зарплату сотрудника.

class Employee {
private:
    double salary;
};

Попытка получить доступ к приватному полю salary извне класса вызовет ошибку компиляции:

Employee employee1;
employee1.salary = 50000; // Ошибка компиляции

👉 Функции-геттеры и функции-сеттеры

Для получения и изменения приватных полей класса вы можете использовать функции-геттеры и функции-сеттеры. Функции-геттеры возвращают значение приватного поля, а функции-сеттеры устанавливают значение приватного поля.

class Employee {
private:
    double salary;

public:
    double getSalary() {
        return salary;
    }

    void setSalary(double potentialSalary) {
        if (potentialSalary < 0) {
            salary = 0;
        } else {
            salary = potentialSalary;
        }
    }
};

👉 Пример использования функций-геттеров и функций-сеттеров

Теперь рассмотрим пример использования функций-геттеров и функций-сеттеров в языке программирования C++. Для класса Employee мы добавим функции-геттер getSalary() и функцию-сеттер setSalary() для поля salary.

class Employee {
private:
    double salary;

public:
    double getSalary() {
        return salary;
    }

    void setSalary(double potentialSalary) {
        if (potentialSalary < 0) {
            salary = 0;
        } else {
            salary = potentialSalary;
        }
    }
};

Employee employee1;
employee1.setSalary(50000);
cout << "Salary: " << employee1.getSalary() << endl; // Выведет "Salary: 50000"

👉 Инкапсуляция в объектно-ориентированном программировании

Инкапсуляция - это концепция объектно-ориентированного программирования, которая позволяет скрыть детали реализации класса и предоставить доступ только к нужным методам и полям. Она позволяет упростить использование класса и защитить данные от неправильного использования.

👉 Пример использования инкапсуляции

В предыдущих примерах мы использовали инкапсуляцию для скрытия приватных полей класса и предоставления доступа к ним через функции-геттеры и функции-сеттеры.

class Employee {
private:
    double salary;

public:
    double getSalary() {
        return salary;
    }

    void setSalary(double potentialSalary) {
        if (potentialSalary < 0) {
            salary = 0;
        } else {
            salary = potentialSalary;
        }
    }
};

👉 Применение приватных функций

Кроме приватных полей класса, мы также можем использовать приватные функции для скрытия деталей реализации. В примере ниже у нас есть приватная функция calculateBonus(), которая вычисляет бонус сотрудника на основе его зарплаты.

class Employee {
private:
    double salary;

private:
    double calculateBonus() {
        return salary * 0.1;
    }

public:
    void printBonus() {
        cout << "Bonus: " << calculateBonus() << endl;
    }
};

Попытка вызвать приватную функцию calculateBonus() извне класса вызовет ошибку компиляции. Однако публичная функция printBonus() может вызывать приватную функцию calculateBonus(), так как они являются членами одного класса.

Employee employee1;
employee1.printBonus(); // Выведет "Bonus: 5000"

👉 Заключение

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

Are you spending too much time on seo writing?

SEO Course
1M+
SEO Link Building
5M+
SEO Writing
800K+
WHY YOU SHOULD CHOOSE Proseoai

Proseoai has the world's largest selection of seo courses for you to learn. Each seo course has tons of seo writing for you to choose from, so you can choose Proseoai for your seo work!

Browse More Content