第6章类与对象 例6.1(续二) void maino 定义cRec类的对象,定义对象的 格式 CRect r 类名对象名1,对象名2,… Setcolor("Red") r Move(10, 20) r Setsize(100, 200) 访问对象的公有成员,格式为 对象名公有成员函数名(参数表) r Draw 对象名公有数据成员名 r Move(50,50); r SetColor("Blue") 程序运行结果为 r Draw 矩形左上角坐标为(20,10) 矩形长和宽分别为100,200 矩形的颜色是Red 矩形左上角坐标为(50,50) 矩形长和宽分别为100,200 矩形的颜色是Bue
例6.1 (续二) void main() { CRect r; r.SetColor("Red"); r.Move(10,20); r.SetSize(100,200); r.Draw(); r.Move(50,50); r.SetColor("Blue"); r.Draw(); } 第6章 类与对象 定义CRect类的对象,定义对象的 格式: 类名 对象名1,对象名2,…… 访问对象的公有成员,格式为: 对象名.公有成员函数名(参数表) 对象名.公有数据成员名 程序运行结果为: 矩形左上角坐标为(20,10) 矩形长和宽分别为100,200 矩形的颜色是Red 矩形左上角坐标为(50,50) 矩形长和宽分别为100,200 矩形的颜色是Blue
第6章类与对象 6.1类与对象 6.1.3成员的访问控制 private:私有访问权限,只允许类中的成员函数访问,其他函 数不能访问。 protected:保护访问权限,在第7章中介绍。 public:公有访问权限,在任何函数中都可以访问。 例:若主函数中有以下语句,是否正确? CRect r strcpy( r color, red) 「top=10; 在主函数中不能访问类的私有成员, r left=20
6.1 类与对象 6.1.3 成员的访问控制 private: 私有访问权限,只允许类中的成员函数访问,其他函 数不能访问。 protected: 保护访问权限,在第7章中介绍。 public: 公有访问权限,在任何函数中都可以访问。 例:若主函数中有以下语句,是否正确? CRect r; strcpy( r.color , “red”); r.top = 10; r.left = 20; 第6章 类与对象 在主函数中不能访问类的私有成员
第6章类与对象 6.1类与对象 6.1.3成员的访问控制(续) 若不指定类中的成员的访问权限,则默认为私有成员 类也可以由 struct关键字声明, strust与cass的区别是:如果 不指定访问权限,前者缺省的访问权限是公有的,而后者是私有 的。用 struc声明前面的矩形类: struct CRect void SetColor(char*c) void Setsize(int I, int w) void Move (int t,intl void Draw private char color[10: t left int top t length int width
6.1 类与对象 6.1.3 成员的访问控制(续) 若不指定类中的成员的访问权限,则默认为私有成员。 类也可以由struct关键字声明,strust与class的区别是:如果 不指定访问权限,前者缺省的访问权限是公有的,而后者是私有 的。用struct声明前面的矩形类: struct CRect { void SetColor(char *c); void SetSize(int l, int w); void Move(int t,int l); void Draw(); private: char color[10]; int left; int top; int length; int width; }; 第6章 类与对象
类的数据成员和成员函数总结: 类的成员函数可以直接访问自己类的私有成员 类外面的函数不能直接访问类的私有成员( 数据成员和成员函数) 类外面的函数只能通过类的对象使用该类公有 成员函数。 对象a和b的区别是属性的取值
类的数据成员和成员函数总结: • 类的成员函数可以直接访问自己类的私有成员。 • 类外面的函数不能直接访问类的 私有成员( 数据成员和成员函数) • 类外面的函数只能通过类的对象使用该类公有 成员函数。 • 对象a和b的区别是属性的取值
第6章类与对象 6.1类与对象 6.14类的成员函数 1.类成员函数的定义方式 在类外部定义:如前面定义的长方形类的成员函数 般格式为 函数类型类名:成员函数名(参数说明) 函数体 在类中定义:如 class crect public: void setcolor( char*c X strcpy( color, c);)
6.1 类与对象 6.1.4 类的成员函数 1. 类成员函数的定义方式 ➢在类外部定义:如前面定义的长方形类的成员函数 一般格式为: 函数类型 类名::成员函数名(参数说明) { 函数体 } ➢在类中定义:如 class CRect { …… public: void setcolor( char *c ){ strcpy( color , c ); } …… }; 第6章 类与对象