C++成员函数的性质
在C++中,类的成员函数是函数的一种,它有返回值和函数类型,它与一般函数的区别只是:
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++类函数必须先在类体中作原型声明,然后在类外定义,也就是说类体的位置应在函数定义之前,否则编译时会出错。
虽然函数在类的外部定义,但在调用成员函数时会根据在类中声明的函数原型找到函数的定义,从而执行该函数。
以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
更多案例可以go公众号:C语言入门到精通
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。