欢迎来到天天文库
浏览记录
ID:37977198
大小:116.35 KB
页数:22页
时间:2019-06-04
《《C++面向对象程序设计》谭浩强版复习总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章C++基础endl换行并刷新输出流setw(n)设置字段位数为nhex,oct,dec十六进制,八进制,十进制表示setfill定义填充字符setprecision定义浮点数的精度left,right左对齐,右对齐showpoint强制显示小数点以及全部尾部0C++通过给常量命名的方式定义常量:const<数据类型名><常量名>=<表达式>用const定义的标识符常量时,一定要对其初始化。在说明时进行初始化是对这种常量置值的唯一方法,不能用赋值运算符对这种常量进行赋值。函数声明的一般形式为函数类型函数名(参数表)函数模板的定义te
2、mplate函数定义例子:templateTmax(Ta,Tb){return(a>b)?a:b;}定义函数模板时可以使用多个类型参数,每个类型参数前面只需加上关键字typename或class,用逗号分隔:template例子:templateT1max(T1a,T2b){22return(a>b)?a:(T1)b;}有默认参数的函数:实参与形参的结合是从左至右进行的,因此指定默认值的参数必须放在
3、形参列表中的最右端引用定义对变量起另外一个名字(别名alias),这个名字称为该变量的引用。<类型>&<引用变量名>=<原变量名>;其中原变量名必须是一个已定义过的变量。如:intmax;int&refmax=max;refmax并没有重新在内存中开辟单元,只是引用max的单元。max与refmax在内存中占用同一地址,即同一地址两个名字。对引用类型的变量,说明以下几点:1、引用在定义的时候要初始化2、对引用的操作就是对被引用的变量的操作。3、引用类型变量的初始化值不能是一个常数。4、一旦引用被声明,它就不能再指向其它的变量。5、对引用
4、的初始化,可以用一个变量名,也可以用另一个引用。6、引用同变量一样有地址,可以对其地址进行操作,即将其地址赋给一指针。当&m的前面有类型符时(如int&m),它必然是对引用的声明;如果前面无类型符(如cout<<&m),则是取变量的地址。7、对常量(用const声明)的引用使用如下方式:inti=5;constint&a=i;内联函数定义的一般格式为:inline<函数值类型><函数名>(<参数表>){22<函数体>}作用域运算符::a表示全局作用域中的变量a。注意:不能用::访问函数中的局部变量new运算从堆中分配一块与<类型>相适应
5、的大小为<元素个数>的数组存储空间,若分配成功,将这块存储空间的起始地址存入<指针变量名>,否则置<指针变量名>的值为NULL(空指针值,即0)。new的使用格式为:<指针变量名>=new<类型>[<元素个数>];delete运算符用来释放<指针变量名>指向的动态存储空间。使用格式如下:delete<指针变量名>或delete[]<指针变量名>22第2章面向对象基本概念面向过程编程与面向对象编程的区别:面向过程编程先确定算法,再确定数据结构;面向对象编程先确定数据结构,再确定运算。类定义:class<类名>{<访问控制符>:<成员函数的
6、声明><访问控制符>:<数据成员的声明>};<成员函数的实现>若在类体外实现,则需要使用作用域运算符“::”,用它来标识某个成员函数是属于哪个类的,其定义格式如下:<函数值类型><类名>::<成员函数名>(<参数表>){<函数体>}类外访问对象中的成员可以有3种方法:通过对象名和成员运算符访问对象中的成员。<对象名>.<公有成员>通过指向对象的指针变量访问对象中的成员。<对象指针名>-><公有成员>通过对象的引用访问对象中的成员。析构函数其定义格式如下:22<类名>::~<类名>(){ <函数体>}在一般情况下,调用构造函数与声明对象
7、的顺序相同,而调用析构函数的次序正好与创建对象的顺序相反。三种构造函数Box();//无参构造函数Box(inth,intw,intlen):height(h),width(w),length(len){}//带参构造函数复制构造函数定义<类名>(<参数表>); <类名>(const<类名>&<对象名>)Box(constBox&b);//复制构造函数复制构造函数只有一个参数,并且是对同类对象的引用。静态成员是类的所有对象共享的成员,而不是某个对象的成员,它在对象中不占存储空间,是属于整个类的成员。静态成员定义格式如下:static
8、 <静态成员的定义>;不能用参数初始化表对静态数据成员初始化,也不能在构造函数体内初始化,静态数据成员只能在类体外进行初始化。静态数据成员初始化格式如下:<数据类型><类名>::<静态数据成员名>=<值>;
此文档下载收益归作者所有