关于重载和继承的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:36:22
(1)int getnelem()const{return nelem;}中的const定义的是什么啊?
是返回值吗?那能不能写成const int getnelem()
(2)public继承和protected继承有什么区别?好像都能继承基类中的非私有成员。能举例说明吗?
(3)与成员函数比较,友元函数不能重载那些运算符?
+ -符号能重载吗?我用的VC++好像运行不起来。
(4)使用纯虚函数(抽象类)比不使用又什么优点啊?请举例说明。
(5)以下两个程序在效果上有什么区别啊?用哪个比较好?
一:class A{void virtual display(){}};
class B:public A{void display(){}};
class C:public B{void display(){}};
class D:public C{void display(){}};
二:class A{void display(){}};
class B:public A{void virtual display(){}};
class C:public B{void display(){}};
class D:public C{void display(){}};

我只知道C#里的,参考下吧
(1)const是限制修饰符,放在那个前面就说明那个东西在程序中是常量,如果修改就会报错,是最小权限保护的实施方法之一
(2)继承当然可以啦,只是在访问权限上有不同,受protect保护成员在它的类中可访问并且可由派生类访问,public的权限最高,没什么特别的限制
(3)不知道,VC++没用过。
(4)最大的好处就是通过方法的覆盖来实现多态的属性,主要实现多态性
(5)我习惯是第一种写法,没试过第2种的,