C++学习记录(1) 重写、重载、重构三者区别
0. 重构 重构是对程序内部的架构的调整。 重构强调的是在不改变"软件外部可观察的行为"前提下,对内部结构进行调整,使得从程序的外部功能上看,没有任何变化。 如下例子: 重构前代码如下: #include <iostream> class child { private: public: child(){}; void func(){ std::cout << 123 << std::endl; } }; int main(int argc, char const *argv[]) { child a; a.func(); return 0; } 程序运行后,输出123. 重构后的代码如下: #include <iostream> class child { private: public: child(){}; void f1(){std::cout << 1;} void f2(){std::cout << 2;} void f3(){std::cout << 3;} void func(){ f1(); f2(); f3(); std::cout << std::endl; } }; int main(int argc, char const *argv[]) { child a; a.func(); return 0; } main函数执行的时候,依然是调用a的func方法,程序的输出也是123,对于外部来说没有任何改变,但是func内部的实现方式已经改变。 ...