Which is the only operator in C++ which can be overloaded
but NOT inherited?
Answers were Sorted based on User's Feedback
Answer / kalaivani
the '='(equal) operater can be overloaded but cannot be
inherited
| Is This Answer Correct ? | 82 Yes | 1 No |
Answer / anban
basically "=" is the operator that cannot be inherited but
can
be overloaded..hope u got it.
| Is This Answer Correct ? | 37 Yes | 0 No |
Answer / smita
"="this is the operator in C++ that can be overloaded but Not inherited
| Is This Answer Correct ? | 20 Yes | 2 No |
Answer / lokesh
"=" is the only operator which can be overloaded but can not
be inherited
| Is This Answer Correct ? | 12 Yes | 2 No |
Answer / 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 |
Answer / hellboy
'this' operator. I mean the operator that is called as 'this'
| Is This Answer Correct ? | 2 Yes | 13 No |
What are virtual classes?
explain defference between structure and class with example
What is an interface in oop?
What are objects in oop?
Why is polymorphism used?
What is command routing in MFC
Is enum a class?
what is inline function?
What is difference between polymorphism and inheritance?
Can you name some types of inheritance?
what is pointers
i am getting an of the type can not convert int to int *. to overcome this problem what we should do?