2011-11-08 48 views
-1

CameraPerspAsym扩展CameraPersp并具有此构造:如何调用这个构造函数?

CameraPerspAsym(int pixelWidth, int pixelHeight, float fov, float nearPlane, float farPlane) 
: CameraPersp(pixelWidth, pixelHeight, fov, nearPlane, farPlane), 
mLensShiftX(0.0f), 
mLensShiftY(0.0f){}; 

(我把它放在4号线,方便阅读)

AFAIK似乎PARAMS (int pixelWidth, int pixelHeight etc ...)被传递给基类。但是mLensShiftX(0.0f)呢?

那么我该如何调用这个构造函数呢?

+0

我建议你从一本介绍继承基础知识的好书开始。 –

+0

因为它没有显示任何研究工作,它不是非常有用。 –

+0

这也不是一个有争论的地方。 –

回答

1

你只需要担心的儿童类的构造函数提供参数,在这种情况下int pixelWidth, int pixelHeight, float fov, float nearPlane, float farPlane。它如何将这些参数传递给它的父项,或者使用它们来初始化它的成员,是一个实现细节,并且是隐藏的。

mLensShiftX(0.0f), mLensShiftY(0.0f)是明确初始化两个实例变量与值0.0f类,并使用类CameraPerspAsym何时允许这样的事情发生,你不需要做任何事情,无论是你可以指定替代值。在构造函数运行之后,您将不得不使用该类公开的接口来更改这些值。

1

调用它就像你会调用任何构造函数。使用实际的参数,其类型与形式参数的类型相匹配或者可以自由转换为形式参数的类型。

mLensShiftXmLensShiftY显然默认为浮点0.0;因此我会假设你可以通过对象的某种方法来改变这些值。