Which is the only operator in C++ which can be overloaded
but NOT inherited?
Answer Posted / sharathnasa
#include <iostream>
#include <iomanip>
using namespace std;
class A {
public:
int _i;
A(int i) : _i(i) { }
virtual A &operator=(A const &other) {
if (this!=&other) {
_i = other._i;
}
return *this;
}
virtual A operator+(A const &rvalue) {
return A(_i + rvalue._i);
}
virtual void print() {
cout << "A(_i=" << _i << ")";
}
};
class B : public A {
public:
int _j;
B(int i, int j) : A(i), _j(j) { }
virtual void print() {
cout << "B(_i=" << _i << ", _j=" << _j <<")";
}
};
int main() {
A a1(5), a2(3);
a1.print();
cout << " + ";
a2.print();
cout << " = ";
A a3 = a1 + a2;
a3.print();
cout << endl;
B b1(5,3), b2(3,5);
b1.print();
cout << " + ";
b2.print();
cout << " = ";
// this works, although (b1+b2) returns an A since it uses
A's operator+
(b1+b2).print();
// this does not work: no conversion from A to B, i.e.
operator= not inherited
// B b3 = b1 + b2;
// b3.print();
cout << endl;
return 0;
}
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
How to use CMutex, CSemaphore in VC++ MFC
What is polymorphism in oop example?
write a program to find 2 power of a 5digit number with out using big int and exponent ?
What is variable example?
Explain virtual inheritance?
What is an interface in oop?
What is oops concept with example?
What is meant by multiple inheritance?
What is this pointer in oop?
What are the benefits of interface?
What is destructor oops?
What is the real time example of inheritance?
What is object in oop with example?
Which language is not a true object oriented programming language?
How long to learn object oriented programming?