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/   
  • 相关阅读:
    HDU 3944 DP? (Lucas定理)
    Gym 100548F Color (数论容斥原理+组合数)
    Gym 100548K Last Defence (数论)
    Gym 100548A Built with Qinghuai and Ari Factor (水题)
    npx命令
    开源许可证(转载)
    CMD命令
    学习ES6的全部特性
    深入浅出数据库索引(转)
    .net基础总复习(3)
  • 原文地址:https://www.cnblogs.com/wj204/p/3349173.html
Copyright © 2011-2022 走看看