![](/img/trans.png)
[英]Inherit default values for arguments in the function's declaration from a base class
[英]Can a function inherit arguments?
在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”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.