21xrx.com
2024-12-22 22:59:47 Sunday
登录
文章检索 我的文章 写文章
C++结构体中可以定义函数吗?
2023-07-04 19:12:39 深夜i     --     --
C++ 结构体 函数 定义

C++结构体是一种用户自定义的数据类型,与类类似,可以包含数据成员和函数成员。但是,与类不同的是,在结构体中定义的函数默认是公有的,而类中可以通过访问控制符来控制函数的访问权限。

所以,答案是可以在结构体中定义函数。例如,下面这个结构体中定义了一个名为“print”的函数:


struct Student {

  int id;

  string name;

  float score;

  void print() Score: " << score << endl;

  

};

这个函数用来输出结构体中的数据成员。在使用时,可以通过点运算符来调用该函数:


Student s "Tom";

s.print(); // 输出:ID: 101, Name: Tom, Score: 85.5

需要注意的是,结构体中的函数不能访问私有的数据成员,因为结构体默认将其定义的函数作为公有的。如果想要让函数访问私有的数据成员,可以在结构体中使用访问控制符来定义:


struct Student {

  int id;

  string name;

  float score;

private:

  void print() Score: " << score << endl;

  

};

这样,print函数就不能直接在外面访问,只能在结构体内部被调用。

总之,C++结构体中可以定义函数,这为程序员提供了更多的灵活性和可读性。但是需要注意的是,结构体的函数默认为公有的,如果想要控制其访问权限,需要使用访问控制符来定义。

  
  

评论区

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