【发布时间】:2013-08-31 20:07:26
【问题描述】:
我正在为形状实现一些类。有没有办法同时避免代码重复和浪费内存?
基本上,我希望基类中有一个变量,它是一个常量,每个派生类只有一个副本(如静态成员),但每个派生类的值不同。
例如,我想为派生类定义处理惯性张量的函数;对于每个形状,惯性张量都是一个常数,所以我不希望每个实例都拥有相同常数的副本。
但是,我不想为每个派生类声明相同的变量并定义相同的函数,而是想在基类中声明一个变量,并在基类中也有一个泛型函数,比如更改从世界到局部坐标的惯性张量,反之亦然。
有没有办法做到这一点?
【问题讨论】:
-
不能让函数以惯性张量为参数吗?然后,您只需在每个派生类中创建静态变量。可以说你可以用特征来做到这一点,但我认为它不会为你节省很多代码。
标签: c++ inheritance