C++中重构函数声明定义与static变量使用方法

    技术2022-05-20  64

    1、重构函数(1)若重构函数无返回值,声明时连void都不能加上(2)在类中就要定义重构函数析构函数也是如此,如下

    //正确用法 class Data { public: Data() { } }; //错误用法1 class Data { public: Data(); }; //错误用法2 class Data { public: void Data(); }; //错误用法3 class Data { public: void Data() { } };

    2、static变量(1)static变量一定要初始化,在成员函数或重构函数中初始化均易出错,在类的结尾处初始化static变量是一种较好的方法

    class Date { private: static int defaultDate; public: void setDefaultDate(int dat); void printDefaultDate(); }; //在类的结尾初始化static变量 int Date::defaultDate = 0;

    (2)用类定义两个对象,两个对象中的static变量均为同一存储空间(There is exactly one copy of a static member instead of one copy per object-10.2.4-the c++ programming language)

    Date date1, date2; date1.setDefaultDate(10);//将defaultDate赋值为10 date2.setDefaultDate(60);//将defaultDate赋值为60 //此时无论是date1还是date2中的defaultDate值都是60, //static变量的用法类似全局变量,注意一定要初始化

     

     上面两个成员函数

    void Date::setDefaultDate(int dat) {//改变static变量的值 Date::defaultDate = dat; } void Date::printDefaultDate() {//显示static变量的值 std::cout<<Date::defaultDate<<std::endl; }

    参考、扩展阅读:

    [1] http://ticktick.blog.51cto.com/823160/194307


    最新回复(0)