类和对象-对象特性-静态成员函数

本文详细解释了C++中静态成员函数和静态成员变量的概念,包括它们的特点(如只能访问静态成员,共享内存),访问控制(公有与私有的区别),以及如何通过类名和对象实例进行调用。
摘要由CSDN通过智能技术生成

静态成员函数

#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();
}
int main() {
	test01();
    return 0;
}
  1. 静态成员函数func()func2()Person 类的静态成员函数。静态成员函数不依赖于具体的对象实例,而是属于类本身,因此可以通过类名直接调用,也可以通过对象调用。静态成员函数的特点是只能访问静态成员变量和其他静态成员函数,不能直接访问非静态成员变量或非静态成员函数。

  2. 静态成员变量m_APerson 类的静态成员变量,它属于类而不是类的对象。静态成员变量在内存中只有一份拷贝,被所有类的对象共享。静态成员变量必须在类外初始化,通常在类的实现文件中进行初始化。

  3. 访问控制:类中的 m_B 被声明为公有(public)成员变量,可以被外部访问。但 func2() 被声明为私有(private)成员函数,只能在类的内部访问,外部无法调用。

  4. 类的使用:在 main() 函数中通过创建 Person 类的对象 p1,并调用对象的成员函数 func(),展示了如何通过对象来访问静态成员函数。而在 test01() 函数中,通过类名 Person::func() 直接调用静态成员函数。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值