1:virtual成员函数能否为const型的成员函数
答:可以。从virtual与const成员函数的定义看,两者并没有冲突。
2:一个函数只返回const数据(非引用的)会有语法错误吗?
答:无语法错误,函数可以返回非引用的const数据。
3:延长存储单元的生命期的方法
答:延长存储单元生命期的方法:1)使用全局变量;2)动态开辟;3)使用静态变量
4:作用域与生命周期的区别
答:作用域是相对存储单元名称而言的,生命期是相对存储单元本身而言
5:如何理解静态成员函数不能调用非静态成员的规定
答:静态成员函数无须对象调用,即它属于类而不是属于对象。因此,this指针不能在静态成员(数据或函数)中使用。对于非静态数据成员来说,都是属于对象的,如果没有对象,那么就不存在非数据成员;对于非静态成员函数来说,都有一个指向正在调用该非静态成员函数的对象的指针,即this指针。所以,当在静态成员函数中,调用了本类的非静态成员函数时,就无法确定该非静态成员函数究竟是哪个对象调用的,是对哪个对象中的数据成员进行操作。
6:如何理解const型成员函数不能调用非const成员函数的规定
答:const型成员函数的功能是不能修改正在调用该函数的对象中的数据成员。当const型成员函数调用非const型成员函数时,由于非const型成员函数可以修改正在调用函数的对象中的数据成员,因此,就会破坏了const型成员函数不能修改正在调用该函数的对象中数据成员的约定。
7:默认的赋值运算符完成的功能是什么
答:只是将右边对象中的数据成员直接赋值到左边对象的相应数据成员中。
8:默认的复制构造函数完成的功能是什么
答:与默认的赋值运算符完成的功能相同。
9:复制构造函数的参数为什么必须为引用型
答:如果参数不使用引用型,则会引起无限地调用复制构造函数。
10:复制构造函数与赋值运算符重载的依据是什么
答:当数据成员中包含指针时,一般情况下,复制构造函数和赋值运算符都需要重载,以免引起程序运行时错误
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载