C++ 中关于继承的问题
从AcctABC抽象类中派生出Brass 和 BrassPlus 两个具体类,在定义BrassPlus的成员函数时,要调用Brass类中的函数,调用的方法,是不是一定要通过Brass类的对象调用,而不能用Brass::Withdraw() 这种形式调用, 是不是如果这两个具体类是继承关系,就可以用这种形式了???不知我的理解的对不对,求大神指教代码附下
void BrassPlus::ViewAcc () const
{
using std::cout;
using std::endl;
// Brass::ViewAcc(); // 注意!!! 不能这样用,用下三行代码实现
// 当两类是继承关系时,这样可以,其他情况下都要用对象调用函数
cout << "账户使用者: " << Name () << endl;
cout << "账号: " << AccNum () << endl;
cout << "账户余额: " << Balance() << endl;
cout << "最大贷款金额: " << maxloan << endl;
cout << "贷款利息: " << rate << endl;
cout << "所欠金额: " << owebank << endl;
}
没有哪位朋友知道吗?帮自己顶一下 静态函数就可以用你后面的那种方式调用 xiangh105 发表于 2015-3-13 18:51
静态函数就可以用你后面的那种方式调用
谢谢那如果两个类不是继承关系的,其中一个类成员函数中调用另一个类成员函数,是不能用Brass::Withdraw() 这种形式 ?只有继承才行的???? 问题终于解决了 是我理解错了 网上查了下
类中调用其他类成员函数方法:(1):用继承来实现
(2):用友元函数实现
(3):在其他类中声明对象成员
如果两个类为继承关系,在一个类中可以直接调用另一个类成员函数,不用任何修饰,前提是这个成员函数为public属性;而我之前的说要加Brass::修饰Withdraw()函数,是因为这个函数在两个类中进行了重定义,所以用这个修饰来区别是用哪个函数:lol:
页:
[1]