繁体   English   中英

时间:2019-05-02 标签:c++数组setter和getter

[英]c++ Array setters and getters

我需要帮助在 C++ 中为这些变量制作 setter 和 getter。

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

请求 setter 和 getter 意味着您有一个包含要封装的数据成员的类。 下面是一个例子:

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 类的属性有 getter 和 setter。 优点是您可以进行错误检查(这里使用std::array::at()函数进行范围检查)、线程保护、文件/网络 I/O、缓存等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM