C++程序语言培训.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
特殊类和函数 函数指针: 函数名是指向函数的常指针 可以声明一个指向函数的指针变量,利用指针调用函数(Delphi中举例) 一个指向函数的指针必须指向一个有正确返回类型和签名的函数 Long (*fPr)(int) 函数指针的声明总是包括返回类型和表明参数类型的括号 调用函数指针即调用该指针指向的函数 函数指针必须在返回值和签名方面与你赋给它的函数一致 使用函数指针能防止代码增加和重复调用 pFun(X) (*pFun)(X) 可以声明函数指针的数组 函数指针可以传递给其他函数 void PringVal ( void (*) (int) , int, int) 可以用typedef对函数指针的结构体进行简化,如 typedef void(*VPF)(int); 白露原创 特殊类和函数 成员函数指针: 可以创建指向类的成员函数的指针,声明如下 void(Shape:: *pFunc)(int,int) 成员函数指针使用时需要一个正确的类的对象,调用的是针对该对象的函数 函数指针是代码指针,不用delete 成员函数指针亦可存于一个数组,用不同成员函数的地址初始化,并通过数组偏移量调用 pDog- * DogFuncitons[m-1](); 注意事项: 应该在一个类的特定对象中调用成员函数指针 应使用typedef是成员函数指针的声明更容易阅读 慎用成员函数指针 白露原创 高级继承 包容: 一个类的成员数据可能包含另一个类的对象 用被包容类的属性去实现包容类的方法不能实现的功能 公有继承: 公有继承不改变基类成员在派生类中的访问权限。 在公有继承下,基类的public成员,protect成员,private成员在派生类中保持它们在基类中相同的访问权限。 在派生类中定义的成员函数不能直接访问基类的私有成员,只能通过public或protect成员函数访问。 私有继承: 基类的private和protect都在派生类中变成了private成员,不能被派生类的外部函数访问。 派生类的成员函数不能访问基类的private成员,但可以访问基类的public和protect成员函数,并通过它们访问基类private成员。 白露原创 高级继承 注意: 当你想把某些功能授权给另一个类而不必访问其保护成员时,必须使用包容 当需要根据一个类来实现另一个类,并且访问基类的保护成员时,必须使用私有继承 当需要使用多个基类时,不能用继承,必须用包容 友元类: 如果相把私有成员数据或函数暴露给另一个类,那么必须把这个类声明为友元 friend class 。。 友元关系不能传递,友元关系不能继承,友元继承不是互通的 友元函数: 允许一个类将对其非公有成员的访问权授予指定的函数,叫做友元函数。 白露原创 名字空间 为什么使用名字空间: 名字空间帮助程序员避免在使用多个库时的名字冲突 名字冲突发生在一个有匹配作用域的重复名字出现在程序中时,最常见的是在不同的库软件包中 按名字解析函数和类: 在编译器分析源代码并建立函数和变量名列表时,它将检查名字冲突,不能由编译器解决的冲突可由链接器解决 编译器不能检查不同编译单元(如目标文件)之间的名字冲突,那是链接器的任务 如果在不同的编译单元中用相同作用域定义相同的名字,那么将提示Identifier multiply defined //first.cpp Int integerValue=0; Int main(){ Int integerValue=0; return 0; } //second.cpp Int integerValue=0; 白露原创 名字空间 按名字解析函数和类: Int integerValue=0; Int main(){ Int integerValue=0; ::integerValue=10; Return 0; } 注意作用域解析运算符::,它表明正在引用的integerValue是全局而非局部的 术语可见性用于设置一个已定义对象的作用域,不管是变量、函数,还是类 创建名字空间: 名字空间声明的语法类似于声明一个结构体或类的语法 namespace window { void move(int x,int y); } 名字空间内声明,名字空间外定义 白露原创 名字空间 嵌套的名字空间: 名字空间可以嵌套的原因是名字空间的定义也是一个声明 Namespace Window{ namespace pane{ void size(int x,int y); } } 要在外部访问size函数,必须用两个名字空间的名字限定这个函数 Int main(){ W

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档