【发布时间】:2014-05-08 00:31:42
【问题描述】:
使用教程 http://www.raywenderlich.com/33752/cocos2d-x-tutorial-for-ios-and-android-space-game 对于 cocos2d-x,我无法从继承中调用 CCParallaxNode() 构造函数。
继承在其构造函数中调用 CCParallaxNode 的构造函数
标题:
class CCParallaxNodeExtras : public CCParallaxNode {
public :
// Need to provide a constructor
CCParallaxNodeExtras();
构造函数定义
#include "CCParallaxNodeExtras.h"
// Need to provide a constructor
CCParallaxNodeExtras::CCParallaxNodeExtras() {
CCParallaxNode(); // call parent constructor: Cannot be called!
}
错误:
/home/cocos2d-x-3.0rc0/tests/MyGame/proj.android/../cocos2d/cocos/2d/CCParallaxNode.h: In constructor 'CCParallaxNodeExtras::CCParallaxNodeExtras()':
/home/cocos2d-x-3.0rc0/tests/MyGame/proj.android/../cocos2d/cocos/2d/CCParallaxNode.h:78:5: error: 'cocos2d::ParallaxNode::ParallaxNode()' is protected
ParallaxNode();
似乎 CCParallaxNode() 无法调用 ParallaxNode() 因为它受到保护。调用 CCParallaxNode() 时我在这里做错了什么?
谢谢。
【问题讨论】:
-
在c++中,默认构造函数是由继承的构造函数默认调用的...所以,它应该只是
CCParallaxNodeExtras::CCParallaxNodeExtras() { },它会产生这个错误 -
然后我在代码中出现错误,说 CCParallaxNode 未初始化...
标签: android c++ inheritance cocos2d-x protected