c教程-类的设计和继承.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++编程 * 课程目标 学习c++基本知识和技能 要求学员能正确的理解和运用c++基本知识和技能 * 课程分为如下几块 C++单个类的设计 C++类的继承 容器和算法 IO流 C++的异常处理 Qt Qt扫雷项目 * 第一部分 c++类的设计 预习检测 什么是引用? 引用必需要初始化吗? 定义类的友元函数的关键字是什么? C++的显式转换有哪几种定义? 复制控制包含那几个函数? * 第一部分 c++概述 C++是由ATT Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的? C++保留了C语言原有的所有优点, 增加了面向对象的机制? C++是由C发展而来的, 与C兼容? 用C语言写的程序基本上可以不加修改地用于C++? 从C++的名字可以看出它是C的超越和集中? C++既可用于面向过程的结构化程序设计, 又可用于面向对象的程序设计, 是一种功能强大的混合型的程序设计语言? C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。 面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率?不要把面向对象和面向过程对立起来, 面向对象和面向过程不是矛盾的,而是各有用途?互为补充的? 包括类和对象的概念、类的机制和声明、类对象的定义与使用等。这是面向对象的程序设计的基础。基于对象就是基于类。与面向过程的程序不同,基于对象的程序是以类和对象为基础的,程序的操作是围绕对象进行的。 在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。 * 第一部分 c++类的设计 第一节 引用 引用是变量的别名, 与被引用的变量表示同一个对象 通过引用可以改变被引用对象的值 引用必须被初始化 const引用表示被引用的对象是只读体 符号的多种含义 小结 引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。 用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。 引用与指针的区别是,指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。 * 第一部分 c++类的设计 第二节 类的设计 通常将类的定义及类成员函数的声明放在头文件, 类的成员函数实现放在源文件中 类的定义: 关键字class, 类中包含数据和操作数据的函数 成员访问限定符: public, private, protected, 类的作用域 变量, 对象, 类, 类型的概念 类的构造函数, 析构函数 Inline函数:关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。定义在类声明之中的成员函数将自动地成为内联函数,内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。 This指针: this指针是类的一个自动生成、自动隐藏的私有成员,它存在于类的非静态成员函数中,指向被调用函数所在的对象的地址。全局仅有一个this指针,当一个对象被创建时,this指针就指向对象数据的首地址, this指针指向的是对象自身。 函数的重载:指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。 多态: 多态性包含编译时的多态性、运行时的多态性两大类。 即:多态性也分静态多态性和动态多态性两种。 * 第一部分 c++类的设计 第三节 new和delete运算符用于动态分配和撤销内存的运算符 1.???开辟单变量地址空间 new的作用:分配足够的内存以便容纳所需类型的对象,调用构造函数初始化内存中的对象 ?1)int * a = new int;? //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址. ???2)int *a = new int(5); // 作用同上,但是同时将整数赋值为5 2.???开辟数组空间 一维: int *a = new int[100];//开辟一个大小为100的整型数组空间 ?二维: int(*a)[6]=new int[5][6]; Delete的作用: 调用对象的析构函数, 在释放对象 1. int *a = new int; ?

文档评论(0)

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

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

1亿VIP精品文档

相关文档