21xrx.com
2024-12-22 20:07:51 Sunday
登录
文章检索 我的文章 写文章
默认为private: 对于C++结构体中定义的成员,其隐含的访问权限为private。
2023-07-09 01:15:05 深夜i     --     --
C++ 结构体 成员 访问权限 private

在C++中,结构体是一种非常常见的数据类型。一个结构体可以包含多个成员,这些成员可以是各种不同的数据类型,例如整数、浮点数、字符、指针等等。但是,默认情况下,结构体中定义的成员的访问权限是私有的。

即使没有在结构体中显式地指定访问权限,也会把所有的成员都默认为private。这意味着,只有在结构体内部可以访问这些成员,而在结构体外部是无法直接访问这些成员的。

如果想要在结构体外部访问结构体成员,需要使用前缀运算符“.”来访问。这种方式只能使用公有成员,因为私有成员无法从外部访问。

对于结构体中的每一个成员,可以在结构体定义之后显式地指定访问权限。这样可以方便程序员对结构体成员的访问进行控制,并且增强代码的可读性和可维护性。

例如,下面的代码定义了一个名为Person的结构体,并将姓名和年龄成员置为私有变量:


struct Person

  private:

    string name;

    int age;

;

如果需要在结构体外部访问这些成员,可以添加公有方法来提供访问接口:


struct Person {

  private:

    string name;

    int age;

  public:

    void setName(string name)

      this->name = name;

    

    void setAge(int age)

      this->age = age;

    

    string getName()

      return name;

    

    int getAge()

      return age;

    

};

这样,我们就可以在主函数中对结构体Person的成员进行访问:


int main() {

  Person person;

  person.setName("Tom");

  person.setAge(18);

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

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

  return 0;

}

总之,默认情况下,C++结构体中定义的成员的访问权限是私有的,这意味着只能在结构体内部访问。如果需要在结构体外部访问这些成员,需要显式地设置为公有,并提供访问接口。这样可以增强代码的可读性和可维护性,同时提高程序的安全性。

  
  

评论区

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