C语言AGlanceAtC++重点.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文档。上传文档
查看更多
C语言AGlanceAtC重点

创建C++程序 内容摘要 C和C++ 类与对象 操作符重载 继承语法和应用 多态应用与实现 模板与范型编程 组合模式 观察者模式 命令模式 C和C++ 一个普通的c++程序 定义一个函数sum, 并在主函数中调用 C和C++ C函数库都可以在C++当中使用 C和C++ 用c++写HelloWorld程序 g++ -o hello helloworld.cpp C和C++ cout 用于输出变量到标准输出的流 操作符后在可以跟任何可输出的类型 endl 是换行符 使用include来包含头文件 系统的库一般没有后缀 自定义的头文件后缀为.h #include iostream 会从包含路径下寻找头文件 #include “myheader.h” 会从当前目录的相对位置查找 较老一些代码头文件后缀可能为.hxx或.hpp 源代码一般后缀一般为.cpp, 老代码可能是.hxx C和C++ 命名空间用来限制变量或函数名称的可见范围 同一个命名空间中的名字不能互相重复 不同命名空间内可以有相同的名字,而不冲突 using namespace std; 把命名空间std内所有的名字导入来使用 std::cout“hello world!”std::endl; 只使用命名空间std内的cout和endl C和C++ 动态内存分配和释放:new 和 delete C和C++ 引用是一种函数传地址调用的方法 C和C++ 函数可以有多个重载实现 通过不同的参数类型或返回值类型来区分 示例 void func(); void func(int a); void func(char a); void func(int a, int b); int fun(); int fun(int a); 类与对象 C语言的链表数据结构 List *la, *lb; insert(la, node); insert(lb, node); 函数名字冲突 void initialize(ListNode *node); void initialize(StackNode *node); 同时使用链表库与栈库,函数名字发生冲突 类与对象 C++中可以把函数放到结构体里面 类与对象 C语言的结构体是一组数据类型的组合 C++的结构体是一组数据类型和操作函数的组合 函数可以访问结构体内部的变量 对象就是一个变量,可以使用定义好的方法进行操作 示例代码:structlist 类与对象 抽象数据类型需要去外隐藏实现 public 没有访问限制 private 对象外部无法访问 protected 与private类似 friend 声明为友元的外部函数可以访问内部变量 示例 用户不需要关心私有的东西 修改私有的东西不需要通知用户 类与对象 使用类来定义抽象数据类型 与结构体几乎一样 默认内部数据私有 演示:使用类封装一个链表 类与对象 构造函数 与类同名的一个特殊函数 用于初始化对象内部状态 至少有一个,如果没有,编译器会生成 析构函数 类名前加~的特殊函数 用于销毁内部数据,释放资源 至少有一个 栈上变量的析构自动调用,堆上用delete调用 类与对象 拷贝构造函数是一个特殊的构造函数 参数是一个类的对象 如果没定义,编译器自动生成 对象在被拷贝时自动调用 如:函数的传值调用 类与对象 操作符重载,和函数相同 直接比较两个对象 重载 , , ==, != 输出一个对象 重载 读进来一个对象 重载 演示代码 继承 通过继承实现代码重用 从一个已有的数据类型创建新的数据类型 示例:出租车,公交车和地铁计费方式不同 运行时间,等待操作相同 class taxi : public bus { … … }; 子类是一种特殊的父类类型 继承 设计之初,抽象出一个基类更容易理解,结构更清晰 父类与子类的构造函数调用顺序 父类与子类的析构函数的调用顺序 带参数的父类构造函数 多重继承可以重用多个已有类的代码 没有自动继承的方法: 构造方法 析构方法 操作符= 继承 私有继承:父类的对象作为子类对象的一个私有成员 只是实现层面的继承,仅为重用代码 外部无法访问父类的方法 在子类公共部分用using关键字指明 不能把子类看作父类的类型 接口继承与实现继承 示例:vehicals 继承 protected方法只能由子类访问 把数据实现隐藏起来,同时能让子类使用 多态 函数的早期绑定与动态绑定 在vehicals中,通过指向子类对象的父类指针调用函数时,执行的是父类的函数 使用虚函数可以做到动态绑定 运行时确定应该调用父类还是子类函数 示例:扩展vehicals 多态 自身或父类中有虚函数的类的实例中,包含一个指向虚表的虚表指针 虚表中是函数的具体地址 通过虚表寻

文档评论(0)

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

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

1亿VIP精品文档

相关文档