Comments T9
This commit is contained in:
parent
928dfa8ad0
commit
137e8c68cd
|
@ -11,6 +11,17 @@ public:
|
|||
}
|
||||
virtual void print();
|
||||
friend int doubleIt(A a);
|
||||
|
||||
// Question 1.B
|
||||
// Option 1: Member method
|
||||
A operator+(A z) {
|
||||
const int new_a = a + z.a;
|
||||
const int new_b = b + z.b;
|
||||
return {new_a, new_b};
|
||||
}
|
||||
// Option 2: Non-member method
|
||||
friend A operator+(const A& z, const A& y);
|
||||
// Question 1.B
|
||||
};
|
||||
|
||||
class B : public A {
|
||||
|
@ -37,8 +48,18 @@ void B::input(float x, float y) {
|
|||
|
||||
int doubleIt(A a) { return a.a * a.a; }
|
||||
|
||||
// Question 1.B
|
||||
// Option 2: Non-member method
|
||||
A operator+(const A& z, const A& y) {
|
||||
const int new_a = z.a + y.a;
|
||||
const int new_b = z.b + y.b;
|
||||
return {new_a, new_b};
|
||||
}
|
||||
// Question 1.B
|
||||
|
||||
|
||||
int main() {
|
||||
A a1(10, 20), *ptr;
|
||||
A a1(10, 20), *ptr; // Try put *ptr in a new line, as "B *ptr;" to see what is happening;
|
||||
B b1;
|
||||
b1.input(7.5, 3.142);
|
||||
|
||||
|
|
|
@ -3,7 +3,10 @@ using namespace std;
|
|||
|
||||
class BC {
|
||||
public:
|
||||
// Inheritance in C++ is not similar to Java. The method above will not be automatically overrride
|
||||
void show(void) { cout << " \n I am in base class.."; }
|
||||
// Unless we add the keyword virtual on it. Comment the line above and uncomment the line below to test.
|
||||
// virtual void show(void) { cout << " \n I am in base class.."; }
|
||||
};
|
||||
class DC : public BC {
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue