- // mushing everyting into one file for easier demonstration  
- #include<iostream> 
- #include<string> 
- using namespace std ; // this is a dangerous thing to place in a header 
-                       // because it is applied to everything that includes this header 
-                       // you can break files that count on proper scope resolution  
- class Animal{ 
-     string name ; 
-     int age  ; 
-   
- public : 
-     int a[] ; 
-     Animal(string name , int age ):name(name) ,age(age) {} 
-     Animal(const Animal & other); 
-     Animal& operator=(const Animal & other); 
- }; 
-   
- //#include <bits/stdc++.h> don't use stuff from bits. The are internal implementation headers 
- #include<sstream> 
-   
- int main(){ 
-   
-     Animal elephant("ele" ,12); 
-     Animal cow  = elephant ; 
-     cow.a[0]=5 ; 
-     return 0 ; 
- } 
-   
- Animal::Animal(const Animal & other){ 
-     cout<<"copy constructor is called"<<endl ; 
-     this->age=other.age ; 
-     this->name = other.name ; 
- } 
- Animal & Animal::operator=(const Animal & other){ 
-     cout<<"Assignment operator is called"<<endl ; 
-     this->age=other.age ; 
-     this->name = other.name ; 
- } 
				Ly8gbXVzaGluZyBldmVyeXRpbmcgaW50byBvbmUgZmlsZSBmb3IgZWFzaWVyIGRlbW9uc3RyYXRpb24gCiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQgOyAvLyB0aGlzIGlzIGEgZGFuZ2Vyb3VzIHRoaW5nIHRvIHBsYWNlIGluIGEgaGVhZGVyCiAgICAgICAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIGl0IGlzIGFwcGxpZWQgdG8gZXZlcnl0aGluZyB0aGF0IGluY2x1ZGVzIHRoaXMgaGVhZGVyCiAgICAgICAgICAgICAgICAgICAgICAvLyB5b3UgY2FuIGJyZWFrIGZpbGVzIHRoYXQgY291bnQgb24gcHJvcGVyIHNjb3BlIHJlc29sdXRpb24gCmNsYXNzIEFuaW1hbHsKICAgIHN0cmluZyBuYW1lIDsKICAgIGludCBhZ2UgIDsKCnB1YmxpYyA6CiAgICBpbnQgYVtdIDsKICAgIEFuaW1hbChzdHJpbmcgbmFtZSAsIGludCBhZ2UgKTpuYW1lKG5hbWUpICxhZ2UoYWdlKSB7fQogICAgQW5pbWFsKGNvbnN0IEFuaW1hbCAmIG90aGVyKTsKICAgIEFuaW1hbCYgb3BlcmF0b3I9KGNvbnN0IEFuaW1hbCAmIG90aGVyKTsKfTsKCi8vI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IGRvbid0IHVzZSBzdHVmZiBmcm9tIGJpdHMuIFRoZSBhcmUgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gaGVhZGVycwojaW5jbHVkZTxzc3RyZWFtPgoKaW50IG1haW4oKXsKCiAgICBBbmltYWwgZWxlcGhhbnQoImVsZSIgLDEyKTsKICAgIEFuaW1hbCBjb3cgID0gZWxlcGhhbnQgOwogICAgY293LmFbMF09NSA7CiAgICByZXR1cm4gMCA7Cn0KCkFuaW1hbDo6QW5pbWFsKGNvbnN0IEFuaW1hbCAmIG90aGVyKXsKICAgIGNvdXQ8PCJjb3B5IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCI8PGVuZGwgOwogICAgdGhpcy0+YWdlPW90aGVyLmFnZSA7CiAgICB0aGlzLT5uYW1lID0gb3RoZXIubmFtZSA7Cn0KQW5pbWFsICYgQW5pbWFsOjpvcGVyYXRvcj0oY29uc3QgQW5pbWFsICYgb3RoZXIpewogICAgY291dDw8IkFzc2lnbm1lbnQgb3BlcmF0b3IgaXMgY2FsbGVkIjw8ZW5kbCA7CiAgICB0aGlzLT5hZ2U9b3RoZXIuYWdlIDsKICAgIHRoaXMtPm5hbWUgPSBvdGhlci5uYW1lIDsKfQ==