type conversion in C++
For primitive data type, C++ do implicit conversion. ``` #include <iostream> using namespace std; int main() { short a = 2000; int b = a; cout << b << endl; } ``` For class, C++ support class conversion, assignment operator and conversion operator. ``` #include <iostream> using namespace std; class A {}; class B { public: B(const A& a) {}; B& operator=(const A& a) { return *this; } operator A() { return A();} }; int main() { A a; B b(a); b = a; a = b; } ```