С ++ Массив сеттеры и геттеры - PullRequest
0 голосов
/ 11 марта 2019

Мне нужна помощь в создании сеттеров и геттеров на С ++ для этих переменных.

char name[20];
    double homeworkGrades[6];
    double quizGrades[6];
    double examGrades[4];

1 Ответ

0 голосов
/ 11 марта 2019

Запрос сеттеров и геттеров подразумевает, что у вас есть класс с элементами данных, которые вы хотите инкапсулировать.Вот пример:

class Student
{
public:
    explicit Student( std::string name )
        : _name{ std::move( name ) }
    {}

    std::string GetName() const { return _name; } // Getter only; set at construction time

    double GetHomework( int index ) const
    {
        return _homework.at( index ); // Throws if out of range
    }

    void SetHomework( int index, double grade )
    {
        _homework.at( index ) = grade;
    }

    // ...

private:
    const std::string     _name;
    std::array<double, 6> _homework;
    // ... etc.
};

Класс Student имеет методы получения и установки для своих свойств.Преимущество состоит в том, что вы можете выполнять проверку ошибок (здесь это делается с помощью функции std::array::at() для проверки диапазона), защиту потоков, файловый / сетевой ввод-вывод, кэширование и т. Д.

...