[ create a new paste ] login | about

Link: http://codepad.org/yvEu6DqW    [ raw code | output | fork ]

C++, pasted on Sep 5:
#include <iostream>

using namespace std;
class Test{
public:
 int m_ID;

 Test Make(int ID){
  return Test(ID);
 }

 Test operator + (Test &o){
  return Test(m_ID+o.m_ID);
 }

 Test(int id) : m_ID(id){
  cout << "Created Object " << m_ID << endl;
 }

 ~Test(){
  cout << "Destroyed Object " << m_ID << endl;
 }
};

int main(int argc, char **argv){
 Test A = Test(10);
 Test B = A.Make(11);
 Test C = A+B;
 cout << "Object: "<<A.m_ID<<endl;
 cout << "Object: "<<B.m_ID<<endl;
 cout << "Object: "<<C.m_ID<<endl;
 return 0;
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Created Object 10
Destroyed Object 10
Created Object 11
Destroyed Object 11
Destroyed Object 11
Created Object 21
Destroyed Object 21
Destroyed Object 21
Object: 10
Object: 11
Object: 21
Destroyed Object 21
Destroyed Object 11
Destroyed Object 10


Create a new paste based on this one


Comments: