C++从入门到精通——静态成员以及静态成员函数
2024-10-17 08:21:21 阅读次数:8
C++,数据
静态成员变量以及访问方式
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class Person
{
public:
//1、静态成员变量
//静态成员变量 :编译阶段就分配了内存
//类内声明 、类外初始化
//静态成员变量 所有对象都共享同一份数据
static int m_A;
//2、静态成员函数
//所有对象都共享同一个func函数
static void func()
{
//m_C = 100; //静态成员函数 不能访问非静态成员变量
m_A = 100; //静态成员函数 能访问静态成员变量
cout << "func调用" << endl;
}
int m_C;
private:
static int m_B; //私有静态成员变量
static void func2()
{
}
};
int Person::m_A = 0;
int Person::m_B = 0;
void test01()
{
//1、通过对象进行访问
Person p1;
cout << p1.m_A << endl;
Person p2;
p2.m_A = 100;
cout << p1.m_A << endl;
//2、通过类名进行访问
cout << Person::m_A << endl;
//静态成员变量 也是有访问权限的,私有权限类外访问不到
//cout << Person::m_B << endl;
}
int main(){
test01();
// system("pause");
return EXIT_SUCCESS;
}
静态成员函数也具有访问权限
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class Person
{
public:
//1、静态成员变量
//静态成员变量 :编译阶段就分配了内存
//类内声明 、类外初始化
//静态成员变量 所有对象都共享同一份数据
static int m_A;
//2、静态成员函数
//所有对象都共享同一个func函数
static void func()
{
//m_C = 100; //静态成员函数 不能访问非静态成员变量
m_A = 100; //静态成员函数 能访问静态成员变量
cout << "func调用" << endl;
}
int m_C;
private:
static int m_B; //私有静态成员变量
static void func2()
{
}
};
int Person::m_A = 0;
int Person::m_B = 0;
void test01()
{
//1、通过对象进行访问
Person p1;
cout << p1.m_A << endl;
Person p2;
p2.m_A = 100;
cout << p1.m_A << endl;
//2、通过类名进行访问
cout << Person::m_A << endl;
//静态成员变量 也是有访问权限的,私有权限类外访问不到
//cout << Person::m_B << endl;
}
void test02()
{
//通过对象
Person p1;
p1.func();
//通过类名
Person::func();
//Person::func2(); 静态成员函数也是有访问权限的
}
int main(){
test01();
test02();
// system("pause");
return EXIT_SUCCESS;
}
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_13859040/5814693,作者:qq5b42bed9cc7e9,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:python基础编程day07
下一篇:Linux shell编程学习笔记48:touch命令