C++ 语法学习

来源:互联网 发布:企业网络优化方案 编辑:程序博客网 时间:2024/05/22 13:25

Enum:

           作用域:

                 全局作用域:  enum classname{ membername =  value}  (结尾不需要分号,和块类似)。

                 局部作用域:  enum class classname{ membername =  value}

           初始化: 

                 enum定义了新的类型,所以一定要用对象来初始化enum对象。

               *  一个全局作用域的enum对象或成员可以自动转化为int类型。但是局部作用域的不可以。

           前值声明:

                   C++11中可以前置声明enum。

                   enum classname : typename; 如果是全局作用域的enum必须指定其类型。

                   enum class classname ; 局部作用域的enum可以不指定类型,将会隐式转化为int类型。


namespace:

                   namespace可以不连续,完成接口与实现分离。

                    #ifndef  test_h

                    #define test_h

                    namespace

                    {

                         class fly{};

                          void cool ();

                    }

                    #endif

                    #include "test_h"

                    namespace

                   {

                        void cool(){}

                   }

                         

                     局部作用域中如果有和全局作用域中重名的变量或函数,将会隐藏全局版。 使用using声明让函数可见。

                     当函数中参数有类对象时,调用函数时也会去类声明的作用域中查找。

0 0