c++成员函数《局部多云转雨》

成员函数是类的重要组成部分,包括静态和非静态两种。静态成员函数属于类本身,不依赖于具体对象,而普通成员函数与对象关联,具备this指针。静态成员函数不能访问非静态成员,反之则可以。理解这些区别对于掌握面向对象编程至关重要。
摘要由CSDN通过智能技术生成

什么是成员函数?

类成员包括数据成员和成员函数。

 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其它变量一样。

成员函数的特点:

1、类成员函数是类的一个成员,它可以操作类的任意对象,可以访问对象中的所有成员。

2、成员函数可以定义在类定义内部。或者单独使用范围解析运算符::来定义。

3、在类定义中定义的成员函数把函数声明为内联函数。

4、成员函数可以重载;但是成员函数只能重载本类的其它成员函数。类的成员函数与普通的非成员函数以及在其它类中声明的函数不相同,也不能重载他们。

5、成员函数可以设置参数的默认值

静态成员函数与非静态成员函数的区别

1、分配的时间不同

       静态成员函数属于类本身,不属于具体的类对象,在类加载时分配内存空间,程序结束时才消失。可以类名直接访问。

       普通的成员函数属于类对象,在对象创建时才会分配内存,即动态分配内存,不用时消失。通过类对象去访问。

注:静态成员不能去访问普通成员,静态成员存在于普通成员之前,所以不能去访问一些不存在的东西。

2、是否传递this指针

      普通成员函数传递this指针,实质是一个包含指向具体对象的this指针的函数,即其隐式包含一个指向当前对象的this指针。

      静态成员函数不传递this指针。

注:静态成员函数不接受隐含的this指针,无法直接访问类中的非静态成员。

3、成员函数的访问

普通成员可以访问静态成员

静态成员函数只能通过对象间接引用非静态成员

总结:

1、格式

静态数据成员初始化格式:

《数据类型》《类名》 ::《静态数据成员名》=《值》

引用格式:《类名》::《静态成员名(成员数据/成员函数)》

2、静态成员变量性质:

a、只能被初始化一次,下次执行该语句时自动跳过

b、属于类,而非具体对象

3、静态成员函数性质

a、不包括指向具体对象的this指针

b、不可以直接调用普通函数

c、类加载时分配内存空间属于类而非具体对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值