付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 C+ 基础endl 换行并刷新输出流setw(n) 设置字段位数为nhex,oct,dec 十六进制,八进制,十进制表示setfill 定义填充字符setprecision 定义浮点数的精度left,right 左对齐,右对齐showpoint 强制显示小数点以及全部尾部0C+!过给常量命名的方式定义常量:const< 数据类型名><常量名>=<表达式>用 const 定义的标识符常量时,一定要对其初始化。在说明时进行初始化是对这种常量置值的唯一方法,不能用赋值运算符对这种常量进行赋值。函数声明的一般形式为函数类型函数名(参数表)函数模板的定义tem
2、plate<typename 或 class T>函数定义例子: template<typename T>T max(T a,T b)return(a>b)? a:b;定义函数模板时可以使用多个类型参数,每个类型参数前面只需加上关键字typename或 class ,用逗号分隔:template <class T1, class T2, class T3>例子: template<class T1, class T2>T1 max(T1 a,T2 b)return (a>b) ? a : (T1)b;有默认参数的函数:实参与形参的结合
3、是从左至右进行的,因此指定默认值的参数必须放在形参列表中的最右端引用定义 对变量起另外一个名字( 别名 alias) ,这个名字称为该变量的引用。<类型> &< 引用变量名> = < 原变量名>;其中原变量名必须是一个已定义过的变量。如:int max ;int &refmax=max;refmax并没有重新在内存中开辟单元,只是引用 max的单元。max与refmax在内存中占 用同一地址,即同一地址两个名字。对引用类型的变量,说明以下几点:1、引用在定义的时候要初始化2、对引用的操作就是对被引用的变量的操作。3、引用类型变量的初始化值不能
4、是一个常数。4、一旦引用被声明,它就不能再指向其它的变量。5、对引用的初始化,可以用一个变量名,也可以用另一个引用。6、引用同变量一样有地址,可以对其地址进行操作,即将其地址赋给一指针。当&m的前面有类型符时(如int &m ),它必然是对引用的声明;如果前面无类型符(如 cout<<&m) , 则是取变量的地址。7、对常量(用const 声明)的引用使用如下方式:int i=5;const int &a=i;内联函数定义的一般格式为:inline 函数值类型 函数名 (参数表 ) 函数体 作用域运算符二a表示全局作用域中的变量a。注意:不能用二访问
5、函数中的局部变量new运算从堆中分配一块与 类型相适应的大小为 元素个数的数组存储空间,若分配成 功,将这块存储空间的起始地址存入 指针变量名 ,否则置指针变量名 的值为NULL空 指针值,即0)。new的使用格式为:指针变量名=new 类型元素个数 ;delete 运算符 用来释放指针变量名指向的动态存储空间。使用格式如下:delete 指针变量名 或delete 指针变量名第 2章面向对象基本概念面向过程编程与面向对象编程的区别:面向过程编程先确定算法,再确定数据结构;面向对象编程先确定数据结构,再确定运算。类定义:class <类名><访问控制符>:< 成员
6、函数的声明><访问控制符>:< 数据成员的声明><成员函数的实现>若在类体外实现,则需要使用作用域运算符“: ”,用它来标识某个成员函数是属于哪个类的,其定义格式如下:<函数值类型> < 类名 >:< 成员函数名>(<参数表 >)< 函数体 >类外访问对象中的成员可以有3 种方法:通过对象名和成员运算符访问对象中的成员。< 对象名>.<公有成员 >通过指向对象的指针变量访问对象中的成员。< 对象指针名> -> < 公有成员>通过对象的引用访
7、问对象中的成员。析构函数其定义格式如下:< 类名 >:< 类名 >()<函数体>在一般情况下,调用构造函数与声明对象的顺序相同,而调用析构函数的次序正好与创建对象的顺序相反。三种构造函数Box();静态成员>< 类名 >:< 静态成员 >静态成员函数就是使用static 关键字声明的成员函数。静态成员函数可以直接访问该类的静态成员,但不能直接访问类中的非静态成员。第 3 章 详解对象对象指针就是用于存放对象数据起始地址的变量。声明对象指针的一般格式为:< 类名> *< 对象指针名>对象指针的初始化一般格式
8、为:< 数据类型> *< 对象指针名>=&<对象名>< 对象指针名>=&<对象名>通过指针访问对象成员一般格式如下:< 对象指针名> -> < 公有成员>boxp->volumn();(*< 对象指针名>).< 公有成员>(*boxp).volumn();this 指针 是一个特殊的隐含指针,它隐含于每一个成员函数(静态成员函数除外)中,也就是说,每个成员函数都有一个this 指针参数。this 指针指向调用该函数的对象,即 this 指针的值是当前被调用的成
9、员函数所在的对象的起始地址。复制构造函数中隐含使用this 指针:TAdd(const TAdd& p)this->x=; this->y=;cout<<"copy constructor."<<endl;*this 来标识调用该成员函数的当前对象。x this->x (*this).xthis 指针是一个const 指针,成员函数不能对其进行赋值。静态成员中不能访问this 指针,因为静态成员函数不从属于任何对象。指向非静态数据成员的指针一般形式为:数据类型名* 指针变量名;定义指向公有成员函数的指针变量的一般形式为:数据
10、类型名( 类名 : * 指针变量名)( 参数列表 );使指针变量指向一个公有成员函数的一般形式为:指针变量名=&类名: 成员函数名常量定义格式如下:const < 数据类型名> < 常量名>=<表达式>常对象是其数据成员值在对象的整个生存期间内不能被改变的对象。const < 类名 > <对象名>(<初始化值>);< 类名> const < 对象名 >(<初始化值>);常成员函数通过常成员函数来引用本类中的常数据成员。<数据类型><函数名>(<参数表
11、 >)const;声明一维对象数组的一般格式为:< 类名 > < 数组名 >< 下标表达式>第 4 章 运算符重载重载为类的成员函数格式如下:<类名> operator < 运算符 >(<参数表 >) 函数体 A operator + (A &);+为前置运算符时,它的运算符重载函数的一般格式为:<type> operator +( )+为后置运算符时,它的运算符重载函数的一般格式为:<type> operator +(int)运算符重载函数不能定义为静态的成员函数,因为静态的成员函数
12、中没有this指针。友元声明以关键字friend 开始, 只能出现在被访问类的定义中。具体格式如下:friend < 函数值类型> < 函数名>(<参数表>);friend class < 类名 >友元函数可以访问该类中的所有成员(公有的、私有的和保护的)通常使用友元函数来取对象中的数据成员值,而不修改对象中的成员值,保证数据安全。重载为类的友元函数语法形式friend < 函数值类型> operator < 运算符>(<参数表>)< 函数体>;+为前置运算符时,它的运算符重载函数的一般格式为:A
13、operator +(A &a)+为后置运算符时,它的运算符重载函数的一般格式为:A operator +(A &a, int)重载提取运算符的一般格式为:friend istream & operater >>(istream &, ClassName &);istream & operater >>(istream &is, ClassName &f)重载输出(插入)运算符的一般格式为:friend ostream & operater >>(ostream &, Class
14、Name &);ostream & operater >>(ostream &is, ClassName &f)重载类型转换运算符函数格式:operator 返回基本类型名()return 基本类型值类类型转换函数只能是成员函数,不能是友元函数。转换函数的操作数是对象。第5章继承与派生派生是指由基类创建新类的过程class A int i;继承 方式基类成员公有继承私有继承保护继承公有成员公有私有保护私有成员派生类成员不可访问派生类成员不可访问派生类成员不可访问保护成员保护私有保护Base class Derive:public Basefriend
15、 class Derive;直接使用Ba “中的私有成员函数名(ios:< 状态标志)(ios二showpos);(ios二scientific);(ios二showpos| ios二scientific);设置输出宽度函数有两种形式,其格式分别如下:int ios:width(int len)int ios:width()第一种形式是设置输出宽度,并返回原来的输出宽度;第二种形式是返回当前输出宽度,默认输出宽度为00只对其后的第一个输出项有效。填充字符的作用是当输出值不满输出宽度时用填充字符来填充,默认填充字符为空格。它与width() 函数配合使用,否则没有意义。设置填充字符函数有两
16、种形式,其格式分别如下:char ios:fill(char ch) char ios:fill()第一种形式是重新设置填充字符,并返回设置前的填充字符; 第二种形式是返回当前的填充字符。设置浮点数输出精度有两种形式,其格式分别如下:int ios:precision(int p) int ios:precision()第一种形式是重新设置输出精度,并返回设置前的输出精度;第二种形式是返回当前的输出精度。默认输出精度为6用 get 函数读入一个字符(1) 不带参数的get 函数() 用来从指定的输入流中提取一个字符(包括空白字符),函数的返回值就是读入的字符。若遇到输入流中的文件结束符,则函数
17、返回文件结束标志EOF。(2) 有一个参数的get 函数(ch) 用来从输入流中读取一个字符,赋给字符变量ch。读取成功返回非0 值(真),如失败(遇文件结束符)则函数返回 0 值(假)。(3) 有三个参数的get函数(字符数组/字符指针,字符个数n,终止字符)从输入流中读取n-1个字符,赋给指定的字符数组(或字符指针指向的数组)如果在读取n-1 个字符之前遇到指定的终止字符,则提前读取结束。如果读取成功返回非0 值 (真), 如失败 (遇文件结束符)则函数返回0 值 (假)。用 getline 函数读入一行字符(字符数组(或字符指针),字符个数n,终止字符)从输入流中读取一行字符,其用法与带
18、3 个参数的get 函数类似。eof 函数 无参函数,表示文件结束。从输入流读取数据,如果到达文件末尾(遇文件结束符),返回非零值(真),否则为0(假)。while (!()peek 函数无参函数,表示“观察”,观测下一个字符。返回值是当前指针指向的当前字符,但只是观测,指针仍停留在当前位置,并不后移。如果要访问的字符是文件结束符,则函数值是EOF。c= ();putback 函数将前面用get 或 getline 函数从输入流中读取的字符ch 返回到输入流,插入到当前指针位置,以供后面读取。控制符不属于任何类成员,定义在iomanip 头文件中设置输入 /输出宽度setw(int)用整型参数来制定输入/ 输出域的宽度。使用时只对其后一项输入/输出有效。当用于输出时,若实际宽度小于设置宽度时,数据向右对齐,反之则按数据的实际宽度输出。当用于输入时,若输入的数据宽度超过设置宽度时,超出的数据部分被截断而被作为下一项输入内容。设置输出填充字符setfill(char)与 ios:fill 相同, 常与 setw(int) 联合使用,从而向不满设置输出宽度的空间填入指定的字符,不设置则填空格。设置后直
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 充电站主要负责人检修维修安全操作规程
- 2.1 城乡空间结构-教学设计 高一地理湘教版(2019)必修第二册
- 2.5 三大改造 教学设计 2023-2024学年统编版八年级历史下册
- 1.2 数据管理与分析简介教学设计高中信息技术人教中图版2019选修3 数据管理与分析-人教中图版2019
- 12.2《跨学科实践:制作简易杆秤》(教学设计)-人教版(2024)初中物理八年级下册
- 2025-2026学年缤纷梦家园教学设计
- 浙江杭州市2025-2026学年高一下学期期末教学质量检测语文试题含答案
- 2026年天津市河西区社区工作者招聘笔试参考题库及答案详解
- 2026年南宁市江南区事业编单位人员招聘考试参考试题及答案详解
- 2026年青岛市黄岛区事业编单位人员招聘考试模拟试题及答案详解
- DB46T 727-2025《农用地土壤微塑料监测技术规程》
- 电厂锅炉电除尘布袋更换施工方案
- 建筑工程登革热和基孔肯雅热疫情防控监理实施细则(完整版可直接报审)
- 雨课堂学堂在线学堂云《风景写生(西安美术学院)》单元测试考核答案
- 《生活垃圾焚烧炉协同处置污泥技术规范(征求意见稿)》编制说明
- GB/T 46872-2025二氧化碳捕集、运输和地质封存词汇共性术语
- 2025年西班牙语DELEB1语法练习题
- 《2026年》银行中层岗位竞聘高频面试题包含详细解答
- 外企培训计划
- (2025)ACC专家共识声明:心源性休克的评估与管理核心要点解读26课件
- 光大证券招聘笔试题库2026
评论
0/150
提交评论