zoukankan      html  css  js  c++  java
  • cocos2d里面枚举的应用。

    在游戏开发的时候常会用到

    [self getChildByTag:test]

    但是如果你的程序在添加tag的时候是像:

    [selfaddChild:beijingz:0tag:0];

    这样添加的!如果是tag少的话还可以如果遇到几百上千个的时候,你tag用数字来表示很容易忘记或者出错。

    这个就是需要我们用枚举(enum)来定义元素

    我们把所有tag都写在枚举里面这样都不会出错那。

    enum {

        CCLBfont0,

        CCLBfont1

        };或

    enum {

        CCLBfont0=0,

        CCLBfont1

        };

    enum的秘密<一>:enum是“用户自定义类型”

        呵呵,enum在实际中应用比较少,所以你会忽略它。但是,在这里,我告诉你,enum 和 struct、class一样,都是用户自定义类型。
        对呀!enum是用户自定义类型,他有数据成员,还有成员函数!
    For example:
        enum e{a=1 , b=2 , c=4};
    那么:
        001: enum e e1;        //enum e不是对象,它是类型,e1才是类型enum的对象!
        002: e e1;                //e是类型enum e的简写哦!

        003: e1 = 1;              //绝对的错误!int怎能赋值给一个用户自定义类型
        004: e1 = e();            //e()? 对呀,你没看错,默认构造函数
        005: e1 = e(1)           //e(int)? 嘿嘿,这才是从int构造enum e类型对象的构造函数
        006:e1 = a;              //哈哈,默认调用“拷贝构造函数”···虽然有点不完备

    大胆的想:enum会不会有用户自定义成员函数呢?呵呵,我是没有实验出来。要不,你自己试试?
    感想:C++虽然是初期的OO语言,但是类型化的概念已经深入到了语言本身。面对一门OO语言,你要必须知道一件事:一切都是对象,一切都有类型···

  • 相关阅读:
    Android :okhttp+Springmvc文件解析器实现android向服务器上传照片
    SpringMVC自定义类型转换器(让jsp支持2018-8-8转化成date类型)
    第一个SpringMVC
    Spring 各功能所用的包(附上网盘下载)
    Spring 基于xml的事务控制
    做一个单纯的react-image显示组件
    CSS Grid 读书笔记
    CSS Modules入门教程
    Taro开发微信小程序的初体验
    教你使用docker部署淘宝rap2服务
  • 原文地址:https://www.cnblogs.com/pinping/p/2248479.html
Copyright © 2011-2022 走看看