c ++类和静态

时间:2012-01-25 22:57:21

标签: c++ class static encapsulation

我对课堂设计有疑问。我想要一个封装了大量相关函数的类。例如,一个统计类,它具有静态函数来计算算术平均值,经验方差等。或者是一个物理类,可以计算射弹运动,波动等。

你如何在main中引用这些功能?参考统计示例,在Java中我会Statistics.calcMean()

4 个答案:

答案 0 :(得分:4)

Statistics::calcMean()。您也可以使用命名空间而不是静态类成员。

答案 1 :(得分:3)

如果不同函数之间根本没有共享状态,那么最好不要创建一个类而是创建一个名称空间:

namespace Statistics {
   // probably templated on the type of the value and the container...
   double calcMean( std::vector<double> const & values );
}

然后你从main调用它:

int main() {
   std::vector<double> values = create_values();
   std::cout << "mean=" << Statistics::calcMean( values ) << std::endl;
}

答案 2 :(得分:1)

使用::引用静态类成员:Statistics::calcMean()

答案 3 :(得分:0)

将静态方法定义为:

static void calcMean();

通过以下方式调用:

Statistics::calcMean();