CPP Class
[C Struct](https://texonom.com/c-struct-8d60c1deef064f72aefb8d1603702863) [Class based OOP](https://texonom.com/class-based-oop-eb06eec3d3a84330b83a1042ae699ee3) 


### Struct + member Function
With objects of a class, the default assignment operator does not make the two objects the same object, it only copies values of member variables from one object to another object.
We should use [CPP Reference Type](https://texonom.com/cpp-reference-type-e14b91fc42144c32960dadf2b217dd50) to use same object
If a class has a data member that points to dynamic memory
- Destructor
- Copy Constructor
- Member assignment (=) operator
> - can be assign same
> - remove original data
> - Returns reference for chaining
### CPP Class Features
|Title|
|:-:|
|[CPP Constructor](https://texonom.com/cpp-constructor-1900da4cb32e4cf0aea54412ea855b9d)|
|[CPP Desctructor](https://texonom.com/cpp-desctructor-828ac98b528a4040a7a5ca89133328e7)|
|[CPP Copy Constructors](https://texonom.com/cpp-copy-constructors-7bd0103c523141a8859647d955c97d2d)|
|[CPP this](https://texonom.com/cpp-this-3e579de36e6c451eab84f8e91d04766e)|
|[CPP inheritance](https://texonom.com/cpp-inheritance-ae1887538d9d43ce99d787449a5b69b9)|




### Create Class Object(Instance)
> [C++ 객체생성 두가지 방법과 의문점(new를 이용한 동적할당객체)](https://multithread.tistory.com/entry/C-%EA%B0%9D%EC%B2%B4%EC%83%9D%EC%84%B1-%EB%91%90%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95%EA%B3%BC-%EC%9D%98%EB%AC%B8%EC%A0%90new%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%8F%99%EC%A0%81%ED%95%A0%EB%8B%B9%EA%B0%9D%EC%B2%B4)





