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 |
different types of castings
if i have same function with same number of argument but defined in different files. Now i am adding these two files in a third file and calling this function . which will get called and wht decide the precedence?
What type of loop is a for loop?
What is multilevel inheritance explain with example?
How does polymorphism work?
What are properties in oop?
What are benefits of oop?
What are the 4 main oop principles?
i am getting an of the type can not convert int to int *. to overcome this problem what we should do?
wht is ditch
Program to print 0 to 9 in cross order
What do you mean by overloading?