21xrx.com
2024-09-20 05:52:01 Friday
登录
文章检索 我的文章 写文章
C++如何访问类成员?
2023-06-27 03:44:30 深夜i     --     --
C++ 访问 类成员

C++作为一种面向对象编程语言,提供了各种机制来访问类成员。以下是几种常见的访问方式。

1.成员函数访问

成员函数是访问类成员最常用的方式。成员函数可以访问类的所有成员,包括私有成员和保护成员。通过成员函数,我们可以获取和修改类成员的值。以下是一个使用成员函数访问类成员的示例:


class Student{

  private:

    string name;

    int age;

  public:

    void setName(string n) name = n;

    string getName() return name;

    void setAge(int a) age = a;

    int getAge() return age;

};

int main(){

  Student stu;

  stu.setName("Tom");

  stu.setAge(18);

  cout << "Name: " << stu.getName() << endl;

  cout << "Age: " << stu.getAge() << endl;

  return 0;

}

在上面的代码中,成员函数setName()、getName()、setAge()、getAge()分别对私有成员name和age进行设置和获取。

2.友元函数访问

友元函数是定义在类外部但有权访问类私有成员的非成员函数。友元函数可以访问类的私有成员和保护成员。以下是一个使用友元函数访问类成员的示例:


class Student{

  private:

    string name;

    int age;

  public:

    friend void setName(Student& stu, string n);

    friend string getName(Student& stu);

    friend void setAge(Student& stu, int a);

    friend int getAge(Student& stu);

};

void setName(Student& stu, string n) stu.name = n;

string getName(Student& stu) return stu.name;

void setAge(Student& stu, int a) stu.age = a;

int getAge(Student& stu) return stu.age;

int main(){

  Student stu;

  setName(stu, "Tom");

  setAge(stu, 18);

  cout << "Name: " << getName(stu) << endl;

  cout << "Age: " << getAge(stu) << endl;

  return 0;

}

在上面的代码中,友元函数setName()、getName()、setAge()、getAge()分别对私有成员name和age进行设置和获取。

3.成员变量访问

类的成员变量可以通过对象名和箭头操作符(->)访问。这种方式只能访问公有成员和保护成员,不能访问私有成员。以下是一个使用成员变量访问类成员的示例:


class Student

  public:

    string name;

    int age;

;

int main()

  Student stu;

  stu.name = "Tom";

  stu.age = 18;

  cout << "Name: " << stu.name << endl;

  cout << "Age: " << stu.age << endl;

  return 0;

在上面的代码中,通过stu.name和stu.age分别对公有成员name和age进行设置和获取。

总之,C++提供了多种机制来访问类成员。我们可以根据需要选择合适的方式进行访问。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复