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

    静态成员

    • 静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员

    • 静态成员分为:

    • 静态成员变量

      • 所有对象共享同一份数据
      • 在编译阶段分配内存
      • 类内声明,类外初始化
    • 静态成员函数

      • 所有对象共享同一个函数
      • 静态成员函数只能访问静态成员变量

    示例1 :静态成员变量

    #include <iostream>
    using namespace std;
    
    class Person
    {
    	
    public:
    
    	static int m_A; //静态成员变量
    
    	//静态成员变量特点:
    	//1 在编译阶段分配内存
    	//2 类内声明,类外初始化
    	//3 所有对象共享同一份数据
    
    private:
    	static int m_B; //静态成员变量也是有访问权限的
    };
    int Person::m_A = 10;
    int Person::m_B = 10;
    
    void test01()
    {
    	//静态成员变量两种访问方式
    
    	//1、通过对象
    	Person p1;
    	p1.m_A = 100;
    	cout << "p1.m_A = " << p1.m_A << endl;
    
    	Person p2;
    	p2.m_A = 200;
    	cout << "p1.m_A = " << p1.m_A << endl; //共享同一份数据
    	cout << "p2.m_A = " << p2.m_A << endl;
    
    	//2、通过类名
    	cout << "m_A = " << Person::m_A << endl;
    
    
    	//cout << "m_B = " << Person::m_B << endl; //私有权限访问不到
    }
    
    int main() {
    
    	test01();
    
    	system("pause");
    
    	return 0;
    }
    

    示例2:静态成员函数

    #include <iostream>
    using namespace std;
    
    class Person
    {
    
    public:
    
    	//静态成员函数特点:
    	//1 程序共享一个函数
    	//2 静态成员函数只能访问静态成员变量
    	
    	static void func()
    	{
    		cout << "func调用" << endl;
    		m_A = 100;
    		//m_B = 100; //错误,不可以访问非静态成员变量
    	}
    
    	static int m_A; //静态成员变量
    	int m_B; // 
    private:
    
    	//静态成员函数也是有访问权限的
    	static void func2()
    	{
    		cout << "func2调用" << endl;
    	}
    };
    int Person::m_A = 10;
    
    
    void test01()
    {
    	//静态成员变量两种访问方式
    
    	//1、通过对象
    	Person p1;
    	p1.func();
    
    	//2、通过类名
    	Person::func();
    
    
    	//Person::func2(); //私有权限访问不到
    }
    
    int main() {
    
    	test01();
    
    	system("pause");
    
    	return 0;
    }
    
  • 相关阅读:
    一个Bean属性拷贝的工具类
    java Integer parseInt()
    sql 预编译 in
    显著性图谱的评价
    如何优雅的在MFC中使用cvSetMouseCallback?
    为MFC界面添加一个Log Window
    最大流算法统计
    2014年秋 求职总结
    图论的常用算法
    常用的排序算法
  • 原文地址:https://www.cnblogs.com/xuelanga000/p/13629940.html
Copyright © 2011-2022 走看看