21xrx.com
2025-04-28 05:04:27 Monday
文章检索 我的文章 写文章
C++如何访问类成员?
2023-06-27 03:44:30 深夜i     14     0
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++提供了多种机制来访问类成员。我们可以根据需要选择合适的方式进行访问。

  
  

评论区