第2章面向对的象的C++程序设计.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章面向对的象的C程序设计

练习4.看程序写结果 5.定义一个字符串类CStrOne,它包含一个存放字符串的数据成员,能够通过构造函数初始化字符串,通过成员函数显示字符串的内容。 在此基础上派生出CStrTwo类,它增加一个存放字符串的数据成员,并能通过派生类的构造函数传递参数初始化两个字符串,还能通过成员函数进行两个字符串的合并和输出。 小 结 2.1 类和对象 (1)类与对象的定义; (2)访问类的成员函数的方法; (3)构造函数和析构函数定义; (4)this指针的用法; 2.2 类的共享 (1)静态成员 (2)友元 2.3 类的继承和派生 (1)3种继承方式 (2)声明派生类对象时构造函数的调用顺序 (3)对象成员初始化列表可以指定调用带参数构造函数 * * 一般地分为声明部分和实现部分。声明部分是用来声明该类中的成员,含数据成员和成员函数的声明。成员函数是用来对数据成员进行操作的。实现部分是用来对成员函数的定义。声明部分将告诉使用者“干什么”,而实现部分是告诉使用者“怎么干”。 关键字public和private可以在类中出现多次,且前后的顺序没有关系。 默认时在类中定义的项是私有的。 私有部分的成员(数据和函数)只能被该类本身声明的函数存取。 保护部分的成员除可以被本类中的成员函数访问外,还可以被本类派生的类的成员函数访问。 公共部分的成员可以被本类以外的函数访问,是类与外部的接口。 私有时,需要赋值用公有函数input() 完成! Point(int x,int y){Point::x=x;Point::y=y;} 无参数时, Point pt();否则当成函数声明 #include iostream.h class Square { int L; public: void Input() { cinL; } void Output() { coutL*Lendl; } }; void main() { Square s; s.Input(); s.Output(); } * * 但是如果inline函数的定义和声明是分开的,而在另外一个文件中需要调用这些inline函数得时候,内联是无法在这些调用函数内展开的(上面得第二个例子),只能调用。这样内联函数在全局范围内就失去了作用。 解决的办法就是把内联函数得定义放在头文件中,当其它文件要调用这些内联函数的时候,只要包含这个头文件就可以了 /s/blog_53004b4901009h3b.html DLL文件(Dynamic Linkable Library 即动态链接库文件),是一种不能单独运行的文件,它允许程序共享执行特殊任务所必需的代码和其他资源。 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE 文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的 EXE 程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试。 Windows 系统平台上提供了一种完全不同的较有效的编程和运行环境,你可以将独立的程序模块创建为较小的 DLL 文件,并可对它们单独编译和测试。在运行时,只有当 EXE 程序确实要调用这些 DLL 模块的情况下,系统才会将它们装载到内存空间中。这种方式不仅减少了 EXE 文件的大小和对内存空间的需求,而且使这些 DLL 模块可以同时被多个应用程序使用。Windows 自己就将一些主要的系统功能以 DLL 模块的形式实现。 一般来说,DLL 是一种磁盘文件,以.dll、.DRV、.FON、.SYS 和许多以 .EXE 为扩展名的系统文件都可以是 DLL。它由全局数据、服务函数和资源组成,在运行时被系统加载到调用进程的虚拟空间中,成为调用进程的一部分。如果与其它 DLL 之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上。DLL 模块中包含各种导出函数,用于向外界提供服务。DLL 可以有自己的数据段,但没有自己的堆栈,使用与调用它的应用程序相同的堆栈模式;一个 DLL 在内存中只有一个实例;DLL 实现了代码封装性;DLL 的编制与具体的编程语言及编译器无关。 在 Win32 环境中,每个进程都复制了自己的读/写全局变量。如果想要与其它进程共享内存,必须使用内存映射文件或者声明一个共享数据段。DLL 模块需要的堆栈内存都是从运行进程的堆栈中分配出来的。W

您可能关注的文档

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档