zoukankan      html  css  js  c++  java
  • c++ 静态成员

    静态成员的需要性:

       有些属性是类中所有对象共有的。

        如果放在全局变量中,则它们在类的外边,既不安全,又影响了重用性。

    使用:

        像成员有数据成员和成员函数之分一样,静态成员也有静态数据成员和静态数据成员函数之分,静态成员用“static”声明。

    eg:多文件程序实现结构

    //student.h的定义
    
    class Student
    
    {
    
      public:
    
        Student(char *pName="no name");
    
        ~Student();
    
        static int number();//静态成员函数
    
       protected:
    
         static int noOfStudents;
    
         char name[40];
    
    };
    
    //student.cpp 类的实现文件
    
    #include <iostream.h>
    
    #include <string.h>
    
    #include "student.h"
    
    int Student::noOfStudents=0;//在类的内部实现中分配空间和初始化
    
    Student::Student(char *pName)
    
    {
    
       cout<<"creat one student\n";
    
      strcpy(name,PName);
    
       noOfStudents++;
    
    cout<<noOfStudents<<endl;
    
    }
    
    Student::~Student()
    
    {
    
    cout<<"destruct one student\n";
    
    noOfStudents--;
    
    cout<<noOfStudents<<endl;
    
    }
    
    int Student::number()
    
    {
    
    return noOfStudents;
    
    }
    
    //mian.cpp主程序
    
    #include "student.h"//重用Student类
    
    #include <iostream.h>
    
    void fn
    
    {
    
        Student s1;
    
        Student s2;
    
      cout<<Student::number()<<endl;
    
    }
    
    void main()
    
    {
    
    fn();
    
    cout<<Student::number()<<endl;
    
    }
    
     
  • 相关阅读:
    study os
    open source [license]
    work serises------------patch
    interest in history-----------先秦
    python学习-----------argparse
    problems fixed
    work serises------------adb 使用
    零碎积累之--------------java环境相关
    Hash Table Five Finish
    Hash Table Four
  • 原文地址:https://www.cnblogs.com/flashweb/p/2810919.html
Copyright © 2011-2022 走看看