类与对象
类
定义
公有成员通常为成员函数
私有成员为数据成员
class 类名
{
public://访问权限:公有
<数据成员或成员函数的说明>;
private://私有
<成员函数或数据成员的说明>;
protected://保护
<成员函数或数据成员的说明>;
};
<各个成员函数的实现>;
注:
1.成员函数可直接操作数据成员;若在函数内部定义与数据成员同名的变量,则操作的是函数内的局部变量
2.类体中不允许对数据成员的初始化
3.自身类的对象不可以作为自己的成员
4.类体内只给出成员函数的说明未给出具体实现时,则在实现部分成员函数名前需要加类名与作用域运算符(::
)
对象
定义
类名 对象名表;
加入Circle是前面已定义过的圆类,则可以定义为
Circle c1,*p,c[5]; //*p为对象指针,c[5]为对象数组
对象的访问
对象成员的访问
对象.数据成员
对象.成员函数(参数表)
通过指向对象的指针访问成员
对象指针->数据成员
(*对象指针).数据成员
对象指针->成员函数(参数表)
(*对象指针).成员函数(参数表)
//定义一个circle类
class Circle
{
private:
double x,y,r;
public:
void set(double x1,double y1,double r1); //类内没有给出成员函数的具体实现
void print();
double getarea();
double getgirth();
};
void Circle :: set(double x1,double y1,double r1)
{
x = x1;
y = y1;
r = r1;
}
double Circle :: getarea()
{
return 3.14*r*r;}
//.....(其他函数省略)
int main()
{
Circle c;//定义一个对象
c.set(0,0,2);
c.print();
cout<<c.getarea()<<endl;
cout<<c.getgirth()<<endl;
return 0;
}
【问题】:定义一个职工类Staff,包含工号与工资两个数据成员以及设置和输出施工信息的功能,同时通过对象和指针对该类进行测试
#