嘿嘿 以前工作用的是 cocos2dx 2.1.3 和 cocos2dx 2.2.1 这两个 基本上没啥区别(代码编写) 就是新建项目有点不一样 。
但是 每个人都想有自己的事业吗~ 所以我想用业余时间写自己的游戏啦~~ 引擎就选 cocos2dx 3.0 嘿嘿 (为啥选它 因为听别人说他很好所以就选他了)
废话不多说啦
正题
我发现Layer 里面 的
virtual void onEnter() override;
多了一个 override 关键字
然后无知的我去网上收了一下 发现是 C++ 11 的新特性 很好用 而且 他避免的 很多 一时疏忽 造成的 bug
override 和 final
final 就是 常亮 和 java 一样 写了他就不能 重写 继承 修改 等等
class B1 final { };
class D1 : B1 { }; // 错误!不能从 final 类继承!
class
B2
{
virtual
void
f
(
)
final
{
}
// final 函数
}
;
class
D2
:
B2
{
virtual
void
f
(
)
{
}//错误 不能重写
final 函数!
}
;
如果不想被子类覆盖的 话 就加上 final 吧 项目不是一个人写的 你的同事有可能一不小心就把你的 函数 重写了哦(他只是在子类里写了一个你函数名字一样的函数而已只是他自己不知道)。
class
B4
{
virtual
void
g
(
int
)
{
}
}
;
class
D4
:
B4
{
virtual
void
g
(
int
)
override
{
}
// 正确
virtual
void
g
(
double
)
override
{
}
// 错误
}
;
嘿嘿 看出来了吧 override 能确保你 的函数 是重写 不是 重载
小弟是新手 如果写错了 还请大家多多 指点