g7x[计算机]C++面向对象编程核心技术.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
g7x[计算机]C面向对象编程核心技术

C++面向对象编程核心技术 用户可以创建自己的类,即用户自己定义的数据类型,组成这种类型的,不仅可以是数据(称为类的数据成员),而且可以是对数据进行操作的方法(称为类的函数成员)。属于这种类型的具体数据称为这个类的对象。 类的定义形式 类与其它任何数据类型一样,变量在使用之前必须进行定义。定义的一般形式为: class Cname { private: //私有数据与函数 public: //公有数据类型 };//注意一定要有“;” Class是类定义的关键字,其中在一对花括号内的部分叫类体;闭花括号后的“;”表示类定义结束。类内定义的数据和函数分别称为这个类的数据成员与函数成员,类的成员的访问权限,通过关键字来定义,private表示私有,public表示公有。 注意事项 1) 在类说明中的关键字private\ public出现的顺序可以任意,C++编译器每遇到有类的访问权限关键字,就将其后的成员的访问权限确定为该关键字作规定的权限。 2) 数据成员可以具有任何数据类型。由于类是一种数据类型,因而不能在类中说明中对数据成员进行初始化。 3) 在类说明中仅对函数成员进行说明,在程序中还必须定义该函数。定义成员函数的一般形式为: 返回类型 类名::成员函数名(参数说明) {函数体} 其中,“::”为作用域运算符,“类名::”表示其后的函数是属于该类的。 类的使用 定义类的对象 使用类的过程,就是在程序中说明该类的变量的过程,即创建对象的过程。创建对象就是为对象分配内存。 对象值的构造 为使用对象,要构建对象的值,可使用下列任一形式: 类名 对象名 = 类名(参数表); // 用于调用带参数构造函数 类名 对象名·成员名 = 初值; 类名 对象名(参数表); // 用于调用带参数构造函数 类名 对象名 = 类名(); // 用于调用无参数构造函数 对象的使用 定义类的对象之后,就可以访问对象的成员函数。一般形式为: 对象名·成员函数名(); 对象名·成员函数名(参数表) 其中“·”为取成员运算符,表示访问一个对象的成员。由于代码是被一个类的所有对象共享的,而数据则是属于各个对象的,因此,当一个对象的成员函数被调用时,可通过类找到成员函数的定义代码,同时通过对象确定需要访问的数据。 注意事项 同类对象之间可以整体赋值; 对象用作函数的参数时,属于赋值调用,函数可以返回一个对象; 可在定义类的同时定义对象,可用初始化列表对对象初始化。 应用示例 输入一个圆的半径,计算圆的面积 #include iostream.h class CircleAreaOOP // 定义类,类名为CircleAreaOOP { private: // 私有数据成员 double radius; double area; public: void setRadius(); // 公有函数成员 void getArea(); void printArea(); }; void CircleAreaOOP::setRadius() // 函数成员的定义 { coutInput radius of a circle:; cinradius; } void CircleAreaOOP::getArea() { area = 3.14159 * radius *radius; } void CircleAreaOOP::printArea() { cout\nArea of a circle is areaendlendl; } void main() { CircleAreaOOP circle; // 创建对象circle circle.setRadius(); // 使用对象调用函数成员 circle.getArea(); circle.printArea(); } 输入两个整数,然后进行交换(不使用中间变量) #include iostream.h class SwapTwoNumbers { private: int *a,*b; public: void setValue(int,int); void SwapNumbers(); }; void SwapTwoNumbers::setValue(int *x, int *y) { a = new int; b = new int; *a = *x; *b = *y; } void SwapTwoNumbers::SwapNumbers() { coutBefore swap:a =*a\t=*bendl; *a^=*b; *b^=*a; *a^=*b; coutAfter swap:a =*a\t=*be

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档