类的成员函数
成员函数的性质:
类的成员函数是函数的一种,在前面的几篇文中已经看到这些函数了,和普通的函数基本没有什么不同,其主要不同是
类成员函数是属于类中的函数,类具有了类函数就可以体现出面向对象程序的设计方式,但是想想如果没有类函数的类的话,那
不就和我们以前学过的C语言当中的结构体一样吗?所以在面向对象程序设计中类函数是非常重要的。
在类外定义成员函数:
例子:
#include <iostream>
using namespace std;
class myclass
{
private:
int a,b;
public:
void setab(int,int);
void display();
}
void myclass::setab(int x, int y) //类外定义成员函数;
{
a = x;
b = y;
return;
}
void myclass::display() //类外定义成员函数;
{
cout<<"a:"<<a<<endl
<<"b:"<<b<<endl;
return;
}
....
...........
.................
上面的例子就是在类外定义成员函数的例子,在类外定义成员函数应该注意以下几点:
1.类函数的类型
2.类函数属于哪个类
3.类函数的原型
如上面的例子中,setab()与display()类函数都是无返回值的类函数void,所以在类外定义时首先要将类函数的
返回类型写上,然后再写这个类函数是属于哪个类,如void myclass::setab(int x, int y)这个类函数是属于类
myclass的,所以在写完返回类型后再写上哪个类,之后再通过作用域限定符“::“写上类函数的函数名称和具体
的参数的类型和形参名,至于函数体的写法和前面学过的函数的体的写法是一样的;
关于内置成员函数
类的成员函数也是可以指定为内置函数。在类体中定义的成员函数一般规模都是很小的,而系统调用函数过程
所花费的时间是很大的。调用一个函数的时间开销远远大于小规模函数体中全部语句的挨执行时间。为了减少
时间开销我们可以将一些不复杂的成员函数声明为一个内置成员函数,但是一般在什么时候定义内置成员函数
为好呢?下面几点:
1.函数没有循环操作;
2.简单的操作如,只输出或是输入一些数据的操作;
最后一点,值得注意:
在类体中,声明一个成员函数,如果该成员函数的规模小,并且不是复杂的操作的成员函数系统会自动
将这个成员函数声明为内置成员函数。还有一种情况就是如果成员函数小,但是你在类外定义这个成员
函数,系统是不会将这个成员函数设置为内置成员函数的,这点值得注意;