zoukankan      html  css  js  c++  java
  • static、const和static const

    http://blog.csdn.net/rainkin1993/article/details/8068558

    #include<iostream>
    using namespace std;
    class Year{
    int y;
    static const int InitY;
    
    public:
    Year()
    {
        y=InitY;
    };
    int year() const
    {
    return y;
    };//const成员函数
    void add_year(int i)
    {
        y=year()+i;
    };
    };
    const int Year::InitY=1970;
    int main()
    {
        Year y1;
        
        Year* const py1=new Year();
        y1.add_year(1);
        py1->add_year(2);
        cout<<y1.year()<<','<<py1->year()<<endl;
        return 0;
    }

    如果加个const int bb的常数据成员,该怎样给它定义??

    常数据成员,C++规定只能通过构造函数的成员初始化列表对常数据成员进行初始化。

    如:

    class Date{

    Date(int y,int m,int d);

    void showDate();

    private:

     const int year;

     const int month;

     const int day;

    };

    Date::Date(int y,int m,int d):year(y),month(m),day(d)

    {}//采用成员初始化列表,对数据成员赋初值。

    如以下形式的构造函数是错误的:

    Date::Date(int y,int m,int d)

    {

     year=y; month=m;

     day=d;

    }

    C++规定只能通过构造函数的成员初始化列表对常数据成员进行初始化。

    作者:wj704    出处:http://www.cnblogs.com/wj204/   
  • 相关阅读:
    数据结构-索引
    CAS自旋volatile变量
    深入理解AQS
    EL表达式
    JSTL 核心标签库 使用
    JSP 九个隐含JSP对象
    jsp基本语法总结
    Commons FileUpLoad 两种上传方式解
    Servlet 异常处理
    Servlet 过滤器 Filter
  • 原文地址:https://www.cnblogs.com/wj204/p/3349173.html
Copyright © 2011-2022 走看看