64,639
社区成员
发帖
与我相关
我的任务
分享
class Brass
{
private:
std::string fullName;
long acctNum;
double balance;
public:
Brass(const std::string & s = "Nullbody", long an = -1, double bal = 0.0);
virtual void ViewAcct() const;
virtual ~Brass() {}
};
class BrassPlus : public Brass
{
private:
double maxLoan;
double rate;
double ownsBank;
public:
BrassPlus(const std::string & s = "Nullbody", long an = -1, double bal = 0.0, double ml = 500, double r = 0.11125);
BrassPlus(const Brass & ba, double ml = 500, double r = 0.11125);
virtual void ViewAcct() const;
};
Brass::Brass(const string & s, long an, double bal)
{
fullName = s;
acctNum = an;
balance = bal;
}
void Brass::ViewAcct() const /*关键字virtual只用于类声明的方法原型当中,而在类方法定义中不可使用*/
{
cout << fullName << " " << acctNum << " " << balance << endl;
}
BrassPlus::BrassPlus(const string & s, long an, double bal, double ml, double r) /*方式1*/
{
Brass::Brass(s, an , bal);
maxLoan = ml;
rate = r;
}
//BrassPlus::BrassPlus(const string & s, long an, double bal, double ml, double r) : Brass(s, an , bal) /*方式2*/
//{
// maxLoan = ml;
// rate = r;
//}
int main()
{
Brass liu1("liu1", 111111, 1000);
liu1.ViewAcct();
BrassPlus liu2("liu2", 222222, 2000);
liu2.ViewAcct();
return 0;
}
Brass::Brass(s, an , bal);/*这句话在这里会覆盖前面的默认构造函数吗?还是说有其它作用?*/