函数是否可以继承参数

Can a function inherit arguments?

本文关键字:继承 参数 是否 函数      更新时间:2023-10-16

在KinFu重制版的源代码中,我发现了以下结构:

kfusion::OpenNISource::OpenNISource() : depth_focal_length_VGA (0.f), baseline (0.f),
shadow_value (0), no_sample_value (0), pixelSize (0.0), max_depth (0) {}

:后面的参数在类kfusion::OpenNISource中声明。函数OpenNISource()也在这个类中声明。由于我是C++的新手,我认为函数继承并声明了变量。。。(?)

那么,下面的代码会将变量(foo,bar)和值(0,1.0f)添加到函数中吗?

class A 
{
  public:
    fn ();
    fn (int qux);
    int foo;
    float bar;
};

A::fn() : foo(0), bar(1.0f) {} 

如果是这样的话,这些变量也会被添加到fn(int qux)中吗??

因为这个函数与类同名,所以它是类的构造函数,在类实例化时自动调用。

冒号后面的变量列表是初始值设定项列表,用于将初始值分配给类的成员变量。

您只能使用构造函数,而不仅仅是任何函数,所以您的代码将无法工作。您必须调用函数"A"才能执行此操作。