- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C培训之数据抽象
数据抽象 第三章 回顾 引用 默认参数 内联函数 函数重载 目标 类 成员变量 成员函数 this 指针 对象数组 类 定义数据的类型以及操作这些数据的函数 类的实例称为对象 类中的变量和函数称为成员 私有和公有 2-1 类成员可以在类的公有或者私有部分声明 数据成员通常在私有部分中声明 在公有部分中声明的成员可以被该类外部的函数访问 公有部分构成类的接口 私有和公有 2-2 无法从类的外部访问私有数据 其他类的私有数据对于当前类也是隐藏的 const成员变量 常量的值在程序的执行期间不会改变 常量必须初始化 const int num=100; num = 200; //错误 num ++; //错误 成员函数 2-1 类的函数称为成员函数 成员函数通常放在类的公有部分 必须定义返回值及参数列表 例如 void setdate(int, int, int); 成员函数 2-2 成员函数可以有局部变量、参数等 成员函数不应与数据成员同名 调用成员函数 2-1 通过调用成员函数与对象通信 object1.member_function1(200); object1.member_function2(); 调用成员函数是操作特定的对象,而不是类 使圆点操作符与特定对象关联 调用成员函数 2-2 访问类的成员函数的一般语法: class_object.function_member(); 构造函数 4-1 自动初始化对象的特殊的成员函数 与所属的类同名 可以在类中声明并定义构造函数,或在类中声明而在外部定义 构造函数 4-2 构造函数没有返回类型 默认构造函数是不带任何参数的构造函数 class username { public: username(); //构造函数 }; username::username() { } 构造函数 4-3 class date{ int month, day, year; public: date() //默认构造函数 {day=1; month=1; year=1999;} date(int x) //仅指定日 {day=x; month=1; year=1999;} date(int x, int y, int z) //指定年月日 {day=x; month=y; year=z;} }; 构造函数 4-4 编译器根据参数调用不同的构造函数 date now; date today(4); date all(23,3,1998); 析构函数 在对象销毁时自动调用的成员函数 编译器会生成对析构函数的调用 与类同名,但是在函数名前有个波浪号 (~) 析构函数没有返回类型,也不带参数 class username { public: ~username(); //析构函数 }; 使用类 2-1 class exampleclass { private: int data; public: member_function1(parameter) { assign value to data } member_function2() { display data } }; 使用类 2-2 void main (){ //定义类exampleclass的对象 exampleclass object1,object2; //调用成员函数,将值200赋给data object1.member_function1(200); //调用显示数据的成员函数 object1.member_function2(); object2.member_function1(350); object2.member_function2(); } 作用域 2-1 使用作用域解析操作符(::)在类外定义成员函数 return_type class_name::member_functions (arg1, arg2,..,argn) {} 参数的类型必须与声明的类型完全匹配 作用域 2-2 作用域操作符左侧是类名 将函数标识为特定类的成员 在全局与局部变量同名的情况下引用全局变量 ::global_variable 如果两个变量有不同的用途,它们的名称应该反映出这个区别 作用域表
文档评论(0)