Comments T9

This commit is contained in:
Marcus Vinicius de Carvalho 2024-11-07 12:18:48 +08:00
parent 928dfa8ad0
commit 137e8c68cd
2 changed files with 25 additions and 1 deletions

View File

@ -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);

View File

@ -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: