1-静态成员

简介: 1-静态成员
#include<bits/stdc++.h>
using namespace std; 
//静态成员
//静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员
//
//静态成员分为:
//
//静态成员变量
//所有对象共享同一份数据
//在编译阶段分配内存
//类内声明,类外初始化
//静态成员函数
//所有对象共享同一个函数
//静态成员函数只能访问静态成员变量
//**示例1 :**静态成员变量
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<bits/stdc++.h>
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;
}


相关文章
|
6月前
|
存储 数据安全/隐私保护 C++
C++一分钟之-C++中的静态成员与静态函数
【6月更文挑战第20天】在C++中,静态成员(变量&函数)打破对象实例化规则,提供类级共享。静态变量独占一份,用于计数或共享配置,需类外初始化,注意访问权限。静态函数不依赖对象,直接通过类名调用,不使用`this`指针,适合工具函数或操作静态变量。示例展示了静态成员的使用,强调了理解和避免常见问题的重要性。
57 4
|
7月前
|
存储 安全 C++
C++程序中的静态成员
C++程序中的静态成员
45 1
|
7月前
|
存储 监控 编译器
【C++】static关键字及其修饰的静态成员变量/函数详解
【C++】static关键字及其修饰的静态成员变量/函数详解
182 3
|
7月前
|
编译器 C++
【c++】内部类和匿名对象
【c++】内部类和匿名对象
|
7月前
|
缓存 C++
37静态成员
37静态成员
25 0
|
7月前
|
编译器
static关键字修饰成员变量与成员函数
1. static概念 声明 为static的类成员称为类的静态成员,用static修饰的成员变量,称为静态成员变量;用static修饰的成员函数,称为静态成员函数,都存放在堆区。 静态成员变量一定要在类外进行初始化。
132 0
|
编译器 C++
类和对象:初始化列表,静态成员,友元,内部类,匿名对象
类和对象:初始化列表,静态成员,友元,内部类,匿名对象
|
设计模式 C++
26 C++ - 静态成员
26 C++ - 静态成员
53 0
静态成员,友元函数,友元类
🐰静态数据成员 🌸静态数据成员的声明: 🌸静态数据成员的初始化: 🌸静态数据成员的访问: 🐰静态成员函数 🌸静态成员函数的声明 🌸静态数据成员函数的访问 🐰友元函数 友元函数的声明 🐰 友元类
|
存储 编译器 C语言
【三、类中的静态成员】静态成员变量与静态成员函数(static关键字、this指针)
【三、类中的静态成员】静态成员变量与静态成员函数(static关键字、this指针)
160 0