Files
  • main.cpp
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>


using namespace std;

class Person {
public:
  Person();
  virtual ~Person();
  virtual void print() const {
    cout << "I'm person" << endl;
  }
private:
  std::string name;
  std::string address;
};
class Student: public Person {
public:
  Student();
  virtual ~Student();
  virtual void print() const {
    cout << "I'm student" << endl;
  }
private:
  std::string schoolName;
  std::string schoolAddress;
};

void printByValue(Person p) {
  p.print();
}

void printByReference(const Person& p) {
  p.print();
}

int main() {
  Student s;
  printByValue(s);
  printByReference(s);
}
gcc version 4.6.3