zoukankan      html  css  js  c++  java
  • 练习7.56、7.58

    7.56:什么是类的静态成员?它有何优点?静态成员与普通成员有何区别?

    Ans:所谓类的静态成员,其独立于类的对象,与类本身相关联,它的生命周期从定义到整个程序结束。其声明语句之前带有关键字static。

    静态成员与普通成员的区别:1)静态成员与类本身相关联,而普通成员与类的对象相关联。2)静态成员可以作为默认实参,而普通成员不行。

    优点:作用域为与类的范围之内,避免与其他类的成员或者全局作用域的名字冲突:可以是私有成员,而全局对象不可以;通过阅读程序可以非常容易地看出静态成员与特定类关联,使得程序的含义清晰明了。

    7.58:下面的静态数据成员的声明和定义有错误吗?请解释原因。

      //example.h

      class Example {

      public:

        static double rate=6.5;

        static const int vecSize = 20;

        static vector<double> vec(vecSize);

      };

      //example.C

      #include “example.h”

      double Example::rate;

      vector<double> Example::vec;

    Ans:

      //example.h

      class Example {

      public:

        static double rate=6.5;  //错误,静态数据成员的类型不是字面值类型的常量表达式,不能在类内进行初始化。

        static const int vecSize = 20; //正确。

        static vector<double> vec(vecSize);//错误,静态数据成员的类型不是字面值类型的常量表达式,不能在类内进行初始化

      };

      //example.C

      #include “example.h”

      double Example::rate; //由上述原因所致,这里也是错误的。

      vector<double> Example::vec;//由上述原因所致,这里也是错误的。

  • 相关阅读:
    ASP.NET Web API 控制器执行过程(一)
    ASP.NET Web API 控制器创建过程(二)
    ASP.NET Web API 控制器创建过程(一)
    ASP.NET Web API WebHost宿主环境中管道、路由
    ASP.NET Web API Selfhost宿主环境中管道、路由
    ASP.NET Web API 管道模型
    ASP.NET Web API 路由对象介绍
    ASP.NET Web API 开篇示例介绍
    ASP.NET MVC 视图(五)
    ASP.NET MVC 视图(四)
  • 原文地址:https://www.cnblogs.com/Dark-King/p/9520835.html
Copyright © 2011-2022 走看看