c++编程中关于ABC的一个疑问

c++primerplus第13章中的例子:classAcctABC{...};classBrass:publicAcctABC{...};classBrassPlus:... c++primer plus第13章中的例子:
class AcctABC{...};
class Brass : public AcctABC{...};
class BrassPlus : public AcctABC{...};
AcctABC是基类,Brass和BrassPlus都是派生类。构造函数如下:
AcctABC(const string & s = "Nullbody", long an = -1,double bal = 0.0);
AcctABC::AcctABC(const string & s, long an, double bal)
{
fullName = s;
acctNum = an;
balance = bal;
}

Brass(const string & s = "Nullbody", long an = -1,
double bal = 0.0) :AcctABC(s, an, bal){};

BrassPlus(const string & s = "Nullbody", long an = -1,double bal = 0.0,
double ml = 500,double r = 0.10);
BrassPlus(const Brass & ba, double ml = 500, double r = 0.1);
BrassPlus::BrassPlus(const Brass & ba, double ml, double r):AcctABC(ba) //问题在这里,这里的构造函数AcctABC()接受了一个Brass &的类,但是AcctABC类没有这样的构造函数,即使是利用复制构造函数那么它的参数类型也应该是 AcctABC &。这里是否执行了向上强制转换?
{
maxLoan = ml;
owesBank = 0.0;
rate = r;
}
展开
 我来答
寒寒家
2015-01-16 · TA获得超过2920个赞
知道大有可为答主
回答量:1482
采纳率:100%
帮助的人:1983万
展开全部
  1. AccABC没有显示的定义拷贝构造函数,所以系统会生成默认的拷贝构造函数

  2. AcctABC作为基类,本身它的引用就可以引用子类的对象。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式