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 is static in oop?
What are the 4 main oop principles?
What are main features of oop?
What is design patterns in C++?
function overridind means and simple program
explain the concepts of oops?
What are the components of marker interface?
officer say me - i am offered to a smoking , then what can you say
What is polymorphism? Explain with an example.
What is multiple inheritance?
Why can't we have instance(stack) of a class as a member of the same class like eg.Class A{A obj;} as we can have self refential pointer
What is difference between abstraction and encapsulation?