S
sukhpal
Hi
i have tried this following Example.
i am expecting the out-put as:
"in a my_first class assignment" but i am getting the out-put as
"in a base class assignment"
#include "iostream"
class my_abstract {
int a;
public:
virtual void operator =(my_abstract &s)
{
std::cout<< "in a base class assignment";
}
virtual void display() = 0 ;
};
class my_first : public my_abstract {
int b;
public:
virtual void operator =(my_first &s)
{
std::cout<< "in a my_first class assignment";
}
virtual void display() {
std::cout << "my_first";
}
};
class second_first : public my_abstract {
int b;
public:
virtual void operator =(second_first &s)
{
std::cout<< "in a second_first class assignment";
}
virtual void display() {
std::cout << "second_first";
}
};
void my_display(my_abstract &obj, my_abstract &obj1)
{
obj = obj1;
}
void main()
{
my_abstract *b;
b = new my_first;
my_abstract *b1;
b1 = new my_first;
my_display(*b, *b1);
}
i have tried this following Example.
i am expecting the out-put as:
"in a my_first class assignment" but i am getting the out-put as
"in a base class assignment"
#include "iostream"
class my_abstract {
int a;
public:
virtual void operator =(my_abstract &s)
{
std::cout<< "in a base class assignment";
}
virtual void display() = 0 ;
};
class my_first : public my_abstract {
int b;
public:
virtual void operator =(my_first &s)
{
std::cout<< "in a my_first class assignment";
}
virtual void display() {
std::cout << "my_first";
}
};
class second_first : public my_abstract {
int b;
public:
virtual void operator =(second_first &s)
{
std::cout<< "in a second_first class assignment";
}
virtual void display() {
std::cout << "second_first";
}
};
void my_display(my_abstract &obj, my_abstract &obj1)
{
obj = obj1;
}
void main()
{
my_abstract *b;
b = new my_first;
my_abstract *b1;
b1 = new my_first;
my_display(*b, *b1);
}