欢迎来到天天文库
浏览记录
ID:38104902
大小:30.18 KB
页数:11页
时间:2019-06-06
《C++期末考试复习资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、*******************************C++复习总结*******************************1.函数模板:实际上是建立一个通用函数,其函数类型和参数类型不具体指定,用一个虚拟的类型来代表,这个通用函数就是函数模板。#include template T const& max(T const& a,T const& b){ return a>b?a:b;}int main(){int ia=16,ib=12;std::cout
2、<<"a,b中的最大值为:"<3、方法不在函数体内对数据成员初始化,而是在函数首部实现。举例:Box:Box(inth,intw,intlen):height(h),width(w),length(len){}6.析构函数:也是一个特殊的成员函数,它的作用于构造函数相反,它的名字是类名前面加一个“~”符号,在C++中“~”是取反运算符,从这点也可以想到:析构函数是与构造函数作用相反的函数。析构函数的作用并不是删除对象,而是在撤销对象占用内存之前完成一些清理工作。析构函数不能重载。(肯定的,无参怎么重载)7.this指针:在每一个成员函数中都包括一个特殊的指针4、,这个指针的名字是固定的,称为this。它是指向本类对象的指针,它的值是当前被调用的成员函数所在对象的起始地址。8.对象的常引用:把实参变量的地址传给形参,这样引用名也指向实参变量。11#include using namespace std;class Time{ public: Time(int,int,int); int hour; int minute; int sec; };Tim5、e::Time(int h,int m,int s){ hour=h; minute=m; sec=s; }void fun(Time &t){ t.hour=18; }int main(){ Time t1(10,13,56); fun(t1); cout<6、来说就是被他修饰的对象,函数,变量或指针程序运行过程中不能别改变。(自己总结的)10.对象的复制:用一个已有的对象快速的复制出多个完全相同的对象。举例:Box:box2(box1);11.静态数据成员:以关键字static开头,如果想在同类的多个对象之间实现数据共享,也不要用全局对象,可以用静态的数据成员。静态数据成员可以初始化,但只能在类体外进行初始化。成员函数也可以定义为静态的,在类中声明函数的前面加static就成了静态成员函数。和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分。如果要在类外调用共用的静7、态成员函数,要用类名和域运算符“::”。静态员函数的作用不是为了对象之间的沟通,而是为了能处理静态数据成员。静态函数没有this指针。既然它没有指向某一对象,它就无法对一个对象中的非静态成员进默认访问(记在引用数据成员时不指定对象名)。11静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,而静态成员函数没有this指针。由此决定了静态成员函数不能访问本类中的非静态成员。静态成员函数可以直接引用本类中的静态数据成员,因为静态成员函数同样是属于本类的,可以直接引用。在C++中,静态成员函数主要用来访问静态数8、据成员,而不访问非静态成员。12.友元:在本类中用friend对该函数进行声明此函数就称为本类的友元函数。一个类的有元函数可以访问这个类中的私有成员(破坏了封装性,但是要考,还是要记住)。Friend函数不仅可以是一般的函数(非成员函数),而且可以是另一类中的成员函数。一个函数(包括普通函
3、方法不在函数体内对数据成员初始化,而是在函数首部实现。举例:Box:Box(inth,intw,intlen):height(h),width(w),length(len){}6.析构函数:也是一个特殊的成员函数,它的作用于构造函数相反,它的名字是类名前面加一个“~”符号,在C++中“~”是取反运算符,从这点也可以想到:析构函数是与构造函数作用相反的函数。析构函数的作用并不是删除对象,而是在撤销对象占用内存之前完成一些清理工作。析构函数不能重载。(肯定的,无参怎么重载)7.this指针:在每一个成员函数中都包括一个特殊的指针
4、,这个指针的名字是固定的,称为this。它是指向本类对象的指针,它的值是当前被调用的成员函数所在对象的起始地址。8.对象的常引用:把实参变量的地址传给形参,这样引用名也指向实参变量。11#include using namespace std;class Time{ public: Time(int,int,int); int hour; int minute; int sec; };Tim
5、e::Time(int h,int m,int s){ hour=h; minute=m; sec=s; }void fun(Time &t){ t.hour=18; }int main(){ Time t1(10,13,56); fun(t1); cout<6、来说就是被他修饰的对象,函数,变量或指针程序运行过程中不能别改变。(自己总结的)10.对象的复制:用一个已有的对象快速的复制出多个完全相同的对象。举例:Box:box2(box1);11.静态数据成员:以关键字static开头,如果想在同类的多个对象之间实现数据共享,也不要用全局对象,可以用静态的数据成员。静态数据成员可以初始化,但只能在类体外进行初始化。成员函数也可以定义为静态的,在类中声明函数的前面加static就成了静态成员函数。和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分。如果要在类外调用共用的静7、态成员函数,要用类名和域运算符“::”。静态员函数的作用不是为了对象之间的沟通,而是为了能处理静态数据成员。静态函数没有this指针。既然它没有指向某一对象,它就无法对一个对象中的非静态成员进默认访问(记在引用数据成员时不指定对象名)。11静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,而静态成员函数没有this指针。由此决定了静态成员函数不能访问本类中的非静态成员。静态成员函数可以直接引用本类中的静态数据成员,因为静态成员函数同样是属于本类的,可以直接引用。在C++中,静态成员函数主要用来访问静态数8、据成员,而不访问非静态成员。12.友元:在本类中用friend对该函数进行声明此函数就称为本类的友元函数。一个类的有元函数可以访问这个类中的私有成员(破坏了封装性,但是要考,还是要记住)。Friend函数不仅可以是一般的函数(非成员函数),而且可以是另一类中的成员函数。一个函数(包括普通函
6、来说就是被他修饰的对象,函数,变量或指针程序运行过程中不能别改变。(自己总结的)10.对象的复制:用一个已有的对象快速的复制出多个完全相同的对象。举例:Box:box2(box1);11.静态数据成员:以关键字static开头,如果想在同类的多个对象之间实现数据共享,也不要用全局对象,可以用静态的数据成员。静态数据成员可以初始化,但只能在类体外进行初始化。成员函数也可以定义为静态的,在类中声明函数的前面加static就成了静态成员函数。和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分。如果要在类外调用共用的静
7、态成员函数,要用类名和域运算符“::”。静态员函数的作用不是为了对象之间的沟通,而是为了能处理静态数据成员。静态函数没有this指针。既然它没有指向某一对象,它就无法对一个对象中的非静态成员进默认访问(记在引用数据成员时不指定对象名)。11静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,而静态成员函数没有this指针。由此决定了静态成员函数不能访问本类中的非静态成员。静态成员函数可以直接引用本类中的静态数据成员,因为静态成员函数同样是属于本类的,可以直接引用。在C++中,静态成员函数主要用来访问静态数
8、据成员,而不访问非静态成员。12.友元:在本类中用friend对该函数进行声明此函数就称为本类的友元函数。一个类的有元函数可以访问这个类中的私有成员(破坏了封装性,但是要考,还是要记住)。Friend函数不仅可以是一般的函数(非成员函数),而且可以是另一类中的成员函数。一个函数(包括普通函
此文档下载收益归作者所有