- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * 文件: 文件的属性 文件名,内容,作者,大小,访问控制,建立日期 文件的 操作:复制、更名、删除 * 到目前为止,大家已经知道,类和对象可以带来的好处 其实,好处还不止这些,类和对象的另一特点:封装 * 成员函数重载 class MyClass { public: int plus(int,int); double plus(double,double); } int MyClass::plus(int x, int y); { return x+y;} double MyClass::plus(double x, double y); { return x+y;} 构造函数重载 class MyClass { float a,b; public: MyClass(float x=1,float y=2); //constructor MyClass(); } 缺省参数与二义性: MyClass c1 (1, 2); MyClass c3; 操作符重载 函数类型 operator 操作符 (参数列表) class OperClass { public: OperClass operator ++ (); //前置运算 OperClass operator ++(int); //后置运算 OperClass operator + (OperClass); //双目操作符重载 } §1.12. 友元 友元 从外部访问类的私有部分 class 类名:基类名 { public: friend 函数类型 函数名();//友元函数 }; 友元的使用 * class FriendClass { private: int nMemberData; public: friend void Fried_Fun (FriendClass class_member, int x); //constructor } // 友元函数不是类的成员函数,要在类的外部定义 void Fried_Fun (FriendClass class_member, int x) { class_member.nMemberData=x; } 友元可以是类 class Student; class Teacher { }; class Student { friend class Teacher; } 友元类必须在定义之前声明 友元类的所有成员函数都是另一个类的友元函数 Teacher的所有成员都是Student的友元函数 友元类的声明可以在公用或私有部分 封装与隐秘的原则 §1.13.对象指针 this 指针与对象指针 this指针指向一个类的对象地址,是隐含指针 使用:this -成员变量 不同对象调用同一成员函数 自定义对象指针 类名 *指针名= new 类名; MyClass *pClass= new MyClass; MyClass objectClass, *p; p=objectClass; p- class MyClass {public: void open(); } 使用方式一 MyClass *pClass= new MyClass; 使用方式二 MyClass objectClass, *p; pClass=objectClass; 调用类的成员函数 pClass-Open(); 或 (*p).Open(); §1.14. 继承 继承与派生 利用继承机制,在已有类的基础上派生新的类 基类(base class)、派生类(derived class) 派生类的定义 class 派生类名:[访问属性] 基类名 { }; 访问属性 private:(默认) 基类的public和protected成员均是派生类的private成员 protected: 基类的public和protected成员均是派生类的protected成员 public : 基类的public成员是派生类的public成员 基类的protected成员是派生类的protected成员 多重继承 class Base1; {protected: int m_B1; public: void Setm_B1(int x); } class Base2; {protected: int m_B2; public: void Setm_B2(int x); } class Mderived:public Base1,public Base2; {public: void GetB1B2();
文档评论(0)