S
sun1991
Hi All,
I tried the following code, but it did not work as I think:
---
using namespace std;
namespace
{
class Fraction
{
public:
Fraction(int num1, int num2): m_num1(num1), m_num2(num2){};
virtual Fraction& operator=(const Fraction& f);
private:
int m_num1;
int m_num2;
};
Fraction& Fraction:
perator =(const Fraction& f)
{
cout << "Fraction:
perator=" << "\n";
return *this;
}
class Fraction2: public Fraction
{
public:
Fraction2(int num1, int num2, int num3): Fraction(num1, num2),
m_num3(num3){}
virtual Fraction2& operator=(const Fraction2& f);
private:
int m_num3;
};
Fraction2& Fraction2:
perator=(const Fraction2& f)
{
cout << "Fraction2:
perator=" << "\n";
return *this;
}
}
void Sample(Fraction& f1, Fraction& f2)
{
f1 = f2;
}
int _tmain(int argc, _TCHAR* argv[])
{
Fraction2 f1(1, 2, 3);
Fraction2 f2(3, 4, 5);
Sample(f1, f2);
system("pause");
return 0;
}
output: Fraction:
perator=
I tried the following code, but it did not work as I think:
---
using namespace std;
namespace
{
class Fraction
{
public:
Fraction(int num1, int num2): m_num1(num1), m_num2(num2){};
virtual Fraction& operator=(const Fraction& f);
private:
int m_num1;
int m_num2;
};
Fraction& Fraction:
{
cout << "Fraction:
return *this;
}
class Fraction2: public Fraction
{
public:
Fraction2(int num1, int num2, int num3): Fraction(num1, num2),
m_num3(num3){}
virtual Fraction2& operator=(const Fraction2& f);
private:
int m_num3;
};
Fraction2& Fraction2:
{
cout << "Fraction2:
return *this;
}
}
void Sample(Fraction& f1, Fraction& f2)
{
f1 = f2;
}
int _tmain(int argc, _TCHAR* argv[])
{
Fraction2 f1(1, 2, 3);
Fraction2 f2(3, 4, 5);
Sample(f1, f2);
system("pause");
return 0;
}
output: Fraction: