第6章类与对象 6.1类与对象 6.2构造函数与析构函数 6.3类的组合 64友元 6.5静态成员 66对象数组与对象指针 6.7this指针
第6章 类与对象 6.1 类与对象 6.2 构造函数与析构函数 6.3 类的组合 6.4 友元 6.5 静态成员 6.6 对象数组与对象指针 6.7 this指针
第6章类与对象 6.1类与对象 6.1.1类与对象的概念 对象( object):是现实世界中的客观事物 类( class):是把具有相同属性的事物划分为一类,从而得出 的抽象概念。 面向对象程序设计中的类,是具有相同属性和服务的一组对 象的集合,它为属于该类的全部对象提供了抽象的描述。 对象是类的实例,类是同种对象的抽象。 如:确定大小和颜色的矩形都是一个个具体的对象,而将所有矩形的共同特 点抽象出来,就是一个矩形 这些共有的属性包括颜色(coor),左上角坐标(left,top),长( length)和 宽(wdth)等; 对这些属性的处理包括改变矩形的颜色( Setcolor)和大小( Setsize),移 动矩形到新的位置(Move),绘出矩形(Draw)等。将矩形的这些属性和方法作
6.1 类与对象 6.1.1 类与对象的概念 对象(object):是现实世界中的客观事物。 类(class):是把具有相同属性的事物划分为一类,从而得出 的抽象概念。 面向对象程序设计中的类,是具有相同属性和服务的一组对 象的集合,它为属于该类的全部对象提供了抽象的描述。 对象是类的实例,类是同种对象的抽象。 第6章 类与对象 如:确定大小和颜色的矩形都是一个个具体的对象,而将所有矩形的共同特 点抽象出来,就是一个矩形类。 这些共有的属性包括颜色( color ),左上角坐标 ( left, top ),长 ( length )和 宽 ( width ) 等; 对这些属性的处理包括改变矩形的颜色( SetColor ) 和大小 ( SetSize ) ,移 动矩形到新的位置 ( Move ),绘出矩形 ( Draw ) 等。将矩形的这些属性和方法作 为一个整体,封装在一起形成一个矩形类
第6章类与对象 6.1类与对象 6.12类的声明 cass类名 private 私有数据成员和成员函数 protected 保护数据成员和成员函数 public 公有数据成员和成员函数;
6.1 类与对象 6.1.2 类的声明 class 类名 { private: 私有数据成员和成员函数; protected: 保护数据成员和成员函数; public: 公有数据成员和成员函数; }; 第6章 类与对象
第6章类与对象 例61定义一个长方形类 CRect,其数据成员包括颜色,左上 角坐标,长和宽,其函数成员包括改变矩形的颜色( Setcolor) 和大小( Setsize),移动矩形到新的位置(Move),绘出矩 形(DraW)。 class Crect private char color[10] int left 给lef赋初值: int left105,是否可 int top; 以???? int length int width public void Setcolor(char *c) void Setsize(int I, int W); void Move(int t, int D) void Draw
例6.1 定义一个长方形类CRect,其数据成员包括颜色,左上 角坐标,长和宽,其函数成员包括改变矩形的颜色(SetColor) 和大小(SetSize),移动矩形到新的位置(Move),绘出矩 形(Draw)。 class CRect { private: char color[10]; int left; int top; int length; int width; public: void SetColor(char *c); void SetSize(int l, int w); void Move(int t,int l); void Draw(); }; 第6章 类与对象 给left赋初值:int left=10.5,是否可 以????
第6章类与对象 例6.1(续一) void crect: Setcolor(char *c) strcpy(color,c) void CRect: Setsize(int I, int w) length=l 域运算符(∷)用于指出该函数是 width w 哪一个类的成员函数,用法 类名:函数名(参数表 void CRect: Move(int t, int D) top=t left = I H yoid CRect. Drawo cut<<"矩形左上角坐标为(<le<"<top<"<end cout<"矩形长和宽分别为"< ength<"<Wdth<endl;‖ cout<<"矩形的颜色是"<< color<<endl;
例6.1 (续一) void CRect::SetColor(char *c) { strcpy(color, c); } void CRect::SetSize(int l, int w) { length=l; width = w; } void CRect::Move(int t,int l) { top = t; left = l; } void CRect::Draw() { cout << "矩形左上角坐标为(" << left << "," << top << ")" << endl; cout << "矩形长和宽分别为" << length << "," << width << endl; cout << "矩形的颜色是" << color << endl; } 第6章 类与对象 域运算符(::)用于指出该函数是 哪一个类的成员函数,用法: 类名::函数名(参数表)