前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C++类的成员函数 | 成员函数

C++类的成员函数 | 成员函数

原创
作者头像
小林C语言
修改2021-01-18 14:31:50
修改2021-01-18 14:31:50
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

C++成员函数的性质

在C++中,类的成员函数是函数的一种,它有返回值和函数类型,它与一般函数的区别只是: 

  • 属于一个类的成员,出现在类体中。
  • 可以被指定为 private、public 或 protected。

C++在使用类函数时,要注意调用它的权限以及它的作用域,私有的成员函数只能被本类中的其他成员函数所调用,而不能被类外调用,成员函数可以访问本类中任何成员,可以引用在本作用域中有效的数据。 

一般的做法是将需要被外界调用的成员函数指定为 public,它们是类的对外接口,但应注意,并非要求把所有成员函数都指定为 public。

在C++中,有的函数并不是准备为外界调用的,而是为本类中的成员函数所调用的,就应该将它们指定为 private。这种函数的作用是支持其他函数的操作,是类中其他成员的函数,类外用户不能调用这些私有的函数。 

类的成员函数是类体中十分重要的部分。如果一个类中不包含成员函数,就等同于C语言中的结构体了,读者需要格外注意。

C++类外定义成员函数

上述所讲成员函数是在类体中定义的,在C++中也可以在类体中只写成员函数的声明,而在类的外面进行函数定义。

在类外定义打印函数:

代码语言:javascript
代码运行次数:0
运行
复制
struct Student //用struct来声明一个类类型 
{
  private: //声明以下为私有的 
    int number; //学号 
    char name[10];//姓名 
    char sex; //性别 
  public: //声明以下为共有的 
    void print_info(); //函数声明 
};
void Studnet::print_info() //在类外定义打印函数 
    {
      cout<<number<<endl;
      cout<<name<<endl;
      cout<<sex<<endl;
    };
Student stu1,stu2;//定义了Student类对象

C++在类体中直接定义函数时,不需要在函数名前面加上类名,但成员函数在类外定义时,必须在函数名前面加上类名,

代码语言:javascript
代码运行次数:0
运行
复制
//作用域限定符
∷

在C++中,用作用域限定符声明函 数是属于哪个类的,如果在作用域运算符的前面没有类名,或者函数名前面既无类名又无作用域限定符,则表示函数不属于任何类,这个函数不是成员函数,而是全局函数。

C++类函数必须先在类体中作原型声明,然后在类外定义,也就是说类体的位置应在函数定义之前,否则编译时会出错。 

虽然函数在类的外部定义,但在调用成员函数时会根据在类中声明的函数原型找到函数的定义,从而执行该函数。

以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~

C++类的成员函数 | 成员函数

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档