看c++之父的c++ programming的第一章,里面有两段写c++思想的:
1、让程序结构尽可能地直接反映这些思想
如果你能把“它”看成一个独立的概念,就把它做成一个类;
如果你能把“它”看成一个独立的实体,就把它做成某一个类的对象;
如果两个类有共同的界面,将此界面做成一个抽象类;
如果两个类的实现有某些显著的共同东西,将这些共性做成一个基类;
如果一个类是一种对象的容器,将它做成一个模板;
如果一个函数实现对某个容器的一个算法,将它作为对一簇容器可用的模板函数;
如果一组类,模板等相互之间有逻辑关系,将他们放进一个名字空间里。
2、在你顶一个并不是实现某个像矩阵或复数这样的数学对象的类时,或者定义一个低层的类型如连接表的时候
不要使用全局数据(使用成员);
不要使用全局函数;
不要使用公用数据成员;
不要使用友元,除非是为了避免【1】或【3】;
不要再一个类里面放“类型域”;采用虚函数;
不要使用线函数,除非作为效果显著的优化;
红色的地方是自己还不太明白的地方,大家指教