Listing 7
using namespace System;
public ref class Derived : Base, ICloneable
{
array<int>^ dPair;
public:
Derived(int bi, int bj, int i, int j) : Base(bi, bj)
{
dPair = gcnew array<int>(2) {i, j};
}
void SetValue(int bi, int bj, int i, int j)
{
Base::SetValue(bi, bj);
dPair[0] = i;
dPair[1] = j;
}
virtual String^ ToString() override
{
return String::Concat("[{", Base::ToString(),
"}", dPair[0], ":", dPair[1], "]");
}
virtual Object^ Clone() override
{
Derived^ d = static_cast<Derived^>(Base::MemberwiseClone());
// Derived^ d = static_cast<Derived^>(Base::Clone());
d->dPair = static_cast<array<int>^>(dPair->Clone());
return d;
}
};