I know that you can make a derived class object equal to a base class object, but I don't know how to do it the other way around. Here's the part of my code that I'm having difficulty with (Note: Animal is base class; Lion and Dog are derived classes).
// main.cpp
#include <iostream>
using std::cout;
using std::endl;
#include "animal.h"
#include "lion.h"
#include "dog.h"
int main()
{
Animal a1( 0, 0 );
Dog d1( 60, 120, "Fido" );
Dog d2(0,0,"Toto");
a1 = d1;
cout << "Animal 1 now has the same height and weight as dog 1\n";
a1.print();
[B]d2 = a1;[/B]
cout << "Dog 2 now has the same height and weight as animal 1\n";
d2.print();
system("pause");
return 0;
} // end main
The error message I get suggests that I need to overload the = operator to perform this, but for this assignment, I don't believe we are allowed to do that. How else can you do this?