C++中经常有set和get函数
set和get函数的作用:
由于成员变量我们一般设置为私有,在类外部不能直接访问,所以我们需要设计公有的set()函数和get()函数来访问它;
set()函数是指修改私有成员变量的值的那类函数;
get()函数是指输出,打印,读取私有成员变量的值的那类函数;
所以一般set()函数和get()函数是对应的;
这体现了面向对象编程中的封装性:这里set()函数和get()函数就相当于是对外界提供的一个接口,外界只有通过这种接口才能访问到内部的值。
附上例代码:
#include
using namespace std;
class Point
{
public:
Point()//构造函数
{
x=0;
y=0;
}
void setX(float _x){x=_x;} //p1.setX(1);
void setY(float _y){y=_y;}
float getX(){return x;} //cout<<p1.getX()<<endl;
float getY(){return y;}
void printPoint(){cout<<"("<<x<<","<<y<<")"<<endl;}
private:
float x;
float y;
};
int main()
{
Point p1;//声明一个Point的对象p1
p1.printPoint();//(0,0)
//p1.x=1;错误!
//类外不能直接修改类的私有成员
p1.setX(1);
//只能通过类中提供的公有的成员函数来修改我们的私有成员值
//cout<<p1.x<<endl;错误!
//类外不能直接访问类的私有成员
cout<<p1.getX()<<endl;
//只能通过类中提供的公有的成员函数来访问我们的私有成员值
p1.printPoint();
return 0;
}