cocos2dx 3.0 自学 No.1 override

来源:互联网 发布:首席数据家 编辑:程序博客网 时间:2024/06/06 04:49

嘿嘿 以前工作用的是 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 类继承!


classB2
{
    virtualvoidf()final{}// final 函数
};
 
classD2:B2
{
    virtualvoidf(){}//错误 不能重写final函数
};
如果不想被子类覆盖的 话 就加上 final 吧  项目不是一个人写的 你的同事有可能一不小心就把你的 函数 重写了哦(他只是在子类里写了一个你函数名字一样的函数而已只是他自己不知道)。


classB4
{
    virtualvoidg(int){}
};
 
classD4:B4
{
    virtualvoidg(int)override{}// 正确
    virtualvoidg(double)override{}// 错误
};
嘿嘿 看出来了吧 override 能确保你 的函数 是重写 不是 重载 

小弟是新手 如果写错了 还请大家多多 指点

0 0
原创粉丝点击