什么是函数重载?

函数重载是指函数具有相同的函数名,但参数的个数,数据类型,顺序等不同,这样在函数调用时,会根据实际调用的参数的实际类型,顺序来确定具体调用那个函数。
(1)函数匹配是会忽略函数的返回类型,只判断函数名和参数的类型,个数,顺序的匹配。
(2)一般,函数重载的函数应执行相同的功能,只是参数上不同。
类的成员函数如何重载?

类成员函数的重载,跟一般的函数重载基本一样,应用相同的成员函数的函数名,重载的函数要有不同的参数类型,参数个数,顺序,要满足以上至少一种情况。不同的是类的成员函数是类中的成员,同时构造函数,析构函数没有返回值。

什么是拷贝构造函数?
拷贝构造函数是一种特殊的构造函数,它用于依据以存在的对象建立一个新对象。用户可以自己定依靠贝函数,系统也可以生成默认的拷贝构造函数(按位拷贝).如果类中有指针类型时,按成员复制的方法有时会产生错误。!!
拷贝构造函数有深拷贝和浅拷贝两种?有什么区别?
浅拷贝就是成员数据之间的一一赋值:把值赋给一一赋给要拷贝的值。但是可能会有这样的情况:对象还包含资源,这里的资源可以是堆资源,或者一个文件。当值拷贝的时候,两个对象就有用共同的资源,同时对资源可以访问,这样就会出问题。如果一个对象释放了资源,责令一个对象的资源引用将出现问题。深拷贝就是用来解决这样的问题的,它把资源也赋值一次,使对象拥有对象的副本。对于堆资源来说,就是在开辟一片堆内存,把原来的内容拷贝。

什么时候深拷贝必须由程序员写?
一般是类中包含有引用或者指针时。

什么this指针,理解
特殊的对象指针,它是成员函数所属对象的指针,他指向类对象的地址。成员函数通过这个指针可以知道自己属于哪个对象。它是一种隐含的指针,隐含于每个类的成员函数中。当一个对象调用成员函数时,该成员函数的this指针便指向这个对象。根据this指针指向的对象来确定应该引用那个对象的数据成员。!!!
当调用成员函数时,编译过程中作了工作。例:: ob.init(x,y) 变成 init(&ob,x,y) 将this 指针指向 ob 对象。
引用
引用是能自动间接引用的指针,使用时不必使用间接引用运算符,就可以得到一个引用值。相当于为变量起了别名,主要用作函数的参数和返回类型 。
1 定义引用时,必须立即进行初始化,不能定义完成后在赋值。引用定义时 type & 变量
2 使用引用变量时,不用书写间接引用符号。
3 引用定义后,就不能重新赋值。
4 不能建立引用数组,指向引用的指针,引用的引用。!!!!!!!!
5 引用返回值,将函数说明为返回一个引用的主要目的是,将函数用在赋值运算符的左边,用于修改函数的返回值。!