Listing 3
using namespace System;
/*1*/
public ref class Deposit sealed : Transaction
{
/*2*/ Decimal amount;
int toAccount;
public:
/*3a*/ Deposit(double amount, int toAccount) :
Transaction(TransactionType::Deposit)
{
DepositAmount = Decimal(amount);
DepositToAccount = toAccount;
}
/*3b*/ Deposit(Decimal amount, int toAccount) :
Transaction(TransactionType::Deposit)
{
DepositAmount = amount;
DepositToAccount = toAccount;
}
property Decimal DepositAmount
{
Decimal get() { return amount; };
private:
void set(Decimal value) { amount = value; }
}
property int DepositToAccount
{
int get() { return toAccount; };
private:
void set(int value) { toAccount = value; }
}
/*4*/ void PostTransaction()
{
Console::WriteLine("{0} -- {1}", DateTimeOfTransaction, this);
}
virtual String^ ToString() override
{
/*5*/ return String::Format(" Dep: {0,10:0.00} {1,10}",
DepositAmount, DepositToAccount);
}
};