在 C++ 中访问类的数据成员

原文:https://www.studytonight.com/cpp/accessing-data-members.php

访问数据成员仅取决于该数据成员的访问控制。如果它是公共的,那么使用直接成员访问(.)操作符和该类的对象可以很容易地访问数据成员。

如果数据成员被定义为私有或受保护的,那么我们就不能直接访问数据变量。然后我们必须创建特殊的公共成员函数来访问、使用或初始化私有和受保护的数据成员。这些成员函数也被称为访问器变异器方法或获取器设置器函数。


访问公共数据成员

下面是一个示例,向您展示如何使用点()初始化和使用公共数据成员。)运算符和类的相应对象。

class Student
{
    public:
    int rollno;
    string name;
};

int main()
{
    Student A;
    Student B;

    // setting values for A object
    A.rollno=1;
    A.name="Adam";

    // setting values for B object
    B.rollno=2;
    B.name="Bella";

    cout <

甲的名字和数字是:亚当-1,乙的名字和数字是:贝拉-2


访问私有数据成员

要访问、使用和初始化私有数据成员,您需要创建 getter 和 setter 函数,以获取和设置数据成员的值。

setter 函数将设置作为参数传递给私有数据成员的值,getter 函数将返回要使用的私有数据成员的值。getter 和 setter 函数都必须定义为公共的。

:

class Student
{
    private:    // private data member
    int rollno;

    public:
    // public function to get value of rollno - getter
    int getRollno()
    {
        return rollno;
    }
    // public function to set value for rollno - setter
    void setRollno(int i)
    {
        rollno=i;
    }
};

int main()
{
    Student A;
    A.rollono=1;  //Compile time error
    cout<< A.rollno; //Compile time error

    A.setRollno(1);  //Rollno initialized to 1
    cout<< A.getRollno(); //Output will be 1
}

这就是我们如何使用 getter 和 setter 方法访问和使用任何类的私有数据成员。我们将在后面详细讨论这个问题。


访问受保护的数据成员

受保护的数据成员,可以直接使用点(。)运算符在当前类的子类中,对于非子类,我们将必须遵循与访问私有数据成员相同的步骤。