C++类的成员函数

C++成员函数的性质

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

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

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

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

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

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

C++类外定义成员函数

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

在类外定义打印函数:

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++在类体中直接定义函数时,不需要在函数名前面加上类名,但成员函数在类外定义时,必须在函数名前面加上类名,

//作用域限定符

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

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

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

以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C++类的成员函数
更多案例可以go公众号:C语言入门到精通

猜你喜欢

转载自blog.csdn.net/weixin_48669767/article/details/112761715