尝试用C ++编写一个简单的银行系统。
我在2013年用C#编写了一个银行系统。所以,我试图将该代码翻译成C ++,但是我已经碰壁了。
CreditAccount(decimal amount): base(amount)
{
//the :base(amount) calls parent constructor
//passes on parameter amount
//so only need to initialise additional instance variables
ODLimit = 100;
}
基本上,这是我的CreditAccount构造函数,有多种类型的帐户,信用帐户,借记帐户等。它们都有基类帐户。
C#中的这段代码将采用Account的基础构造函数,并允许我保留其中的信息,并专门为CreditAccount添加一个新变量。
我的问题是:在C ++中有替代方法吗?
如果是的话,我可以举个例子吗?还是说服?谢客。
答案 0 :(得分:3)
这正是在C ++中这样做的方式,除了没有类型decimal
(除非你定义)。使用构造函数初始化列表的示例:
#include <iostream>
class Base
{
int x_;
public:
Base(int x): x_(x){}
int getX() const
{
return x_;
}
};
class Derived: public Base
{
int y_; // additional member
public:
Derived(int x, int y): Base(x), y_(y) // call Base ctor, init. additional member
{}
int getY() const
{
return y_;
}
};
int main()
{
Derived der(10, 20);
std::cout << der.getX() << " " << der.getY();
}