77问答网
所有问题
当前搜索:
派生类的成员函数可以
C++:
派生类
中重定义基类
的成员函数
与虚函数区别在哪里?
答:
当ATM要取钱的时候,他不需要为每一种卡都写一个
函数
借记卡.getMoney(),信用卡.getMoney()。有了多态之后,他只需要写一个 银行卡的getMoney()函数就行了,将这个函数设置为virtual。多态的意义就是
能够
用父类指针来指向子类对象。而不同
种类的
卡(子类)只需要实现自己的getMoney().当使用...
派生类
指针指向基类对象,如何调用其
成员函数
答:
这样就在一定程度上摆脱了类型制约。只要vptr的值不同,那么访问函数成员的时候使用的vtable表就不同,就可能访问到不同
类的函数成员
。B类对象中的vptr指向B类自己的vtable。当B类继承A类的时候,因为A中有虚函数,编译器就自动的给B类添加vfprt指针和vtable表。也
可以
理解为B类继承来了A类中的那个...
C++
派生类的
友元
函数
不能访问基类的protected
成员
?
答:
可以!友元
函数可以
访问
类的
所有成员(构造函数和析构函数不算),也可以访问基类的私有成员和受保护
的成员
.无论是以何种方式的继承,都可以访问.友元破坏了类的隐蔽性和封装性,但是提高了程序的执行效率.
C++:在一个
派生类的成员函数
中调用基类成员函数“void f()”但无法...
答:
本题说的是无法通过编译器,说明是编译期错误,不是运行期错误。基类的私有
成员
对
派生类
是不可见的,就是无法调用void f(),A中写了void f()后,是运行期错误。而C是编译期错误。 求分。第二个问题, 你说的对,但是本题是无法通过编译,那么显然不是你说的这种情况。
在C++中,
可以
被
派生类
继承
的函数
是什么?为什么构造函数,析构函数,友 ...
答:
在C++中,
派生类
把基类中所有的成员继承过来,除了构造函数和析构函数。友元函数不属于类,它只是给类开了一个后门 本来类外不
可以
访问类的私有成员,通过友元函数就可以 所以不能继承。子类继承父类,那么默认的,就是继承了父
类的成员函数
和成员变量。初始化子类时,会先自动调用父类的构造函数。然后...
派生类可以
调用基类的私有
成员
吗?
答:
当位于
类成员
列表之前时,private 关键字指定这些成员仅可从
成员函数
和该类的友元中进行访问。这适用于声明到下一个访问指示符或类的末尾的所有成员。当位于基类的名称之前时,private 关键字指定基类的公共成员和受保护成员为
派生类的
私有成员。类中成员的默认访问是私有的。结构或联合中成员的默认访问是...
c++类
成员函数
的重载,覆盖和隐藏有什么区别
答:
1.
成员函数
被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字
可
有可无。2.覆盖是指
派生类
函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。3...
怎么把
派生类的
参数通过基类
的成员函数
传给基类的私有成员?最好举个...
答:
通过构造
函数
比如class A{ private :int x;public:A(int xx){x=xx;cout<<"A的构造函数被调用";} };class B :public A{ private :int y;public:B(int yy,int xx):A(xx){cout<<"B的构造函数被调用";} };int main(){ B b(1,2);} ...
如何在c++中通过
派生类
来访问基类
答:
在函数里面只添加一个语句, return (该变量);这样,如果你想得到这个变量值, 只需调用这个派生类中的函数就
可以
了```当然,还有一个办法就是把基类的protected属性改为public,不过看上去你并不想这样用`"在
派生类的
一个
成员函数
中要输出基类的一个protected
类型的成员
变量"刚才看错了`你这样做是正确的...
C++
派生类
对基类
成员
的重定义和名字隐藏 是怎么回事啊?
答:
看《C++对象模型》 里面有CPP的实现细节
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
友元函数
运算符重载函数
基类函数