【C++程序设计】-特殊函数和成员

1.对象成员的初始化

一个类中说明具有某个类的类型的数据成员,这些成员称为对象成员

2.静态成员

简单成员函数是指声明中不含有:static、const、volatile关键字的函数

类的数据成员或成员函数使用关键字static进行修饰,这样的成员称为静态数据成员或静态成员函数,统一称为静态成员

静态数据成员在类中声明后,需要在文件作用域内(类体外)进行初始化例如:int 类名 :: x(静态数据成员)=25;或者直接在构造函数中使用类成员限定符对其进行初始化例如:类名(int a,int b){类名 :: x =a;n=b}

静态数据成员通常被说明为私有的,通过定义公有静态成员函数来访问静态数据成员

static不是函数类型中一部分,所以在类声明之外定义静态成员函数时不适用static。在类中定义的静态成员函数是内联的

静态成员是类的成员不是对象的成员

类中的任何成员都可以访问静态成员

因为静态成员函数没有this指针,静态成员函数只能通过对象名访问该对象的非静态成员

3.静态成员函数与一般成员函数的不同

可以不指向某个具体的对象,只与类名连用

在没有建立对象之前,静态成员就已经存在

静态成员是类的成员,不是对象的成员

静态成员为该类的所有对象共享,他们被存储于一个公有内存中

没有this指针,所以除非显示地把指针给他们,否则不能存取类的数据成员

静态成员函数不能被说明为虚函数

静态成员函数不能直接访问非静态函数

4.友元函数

友元函数可以存取私有成员、公有成员和保护成员,可以为一个类或函数

友元函数可以访问所在类的所有私有成员、公有成员、保护成员

友元函数不是该类的成员

友元函数声明方式:friend 数据类型 函数所在类名::函数名(参数列表)

友元函数访问对象的私有成员,破坏了封装和数据隐藏,导致程序的可维护性变差

友元函数可以在类中声明时定义,在类外定义的时候,不能使用friend关键字

友元关系是不可传递的,不具有交换性

友元函数的声明可以置于任何部分

5.const对象

const修饰数据成员、成员函数、对象

一个const对象只能访问const成员函数

常量成员包括:常量数据成员、常量成员函数、常量引用

常引用作为参数,提供给函数的该参数的值

声明常对象必须同时进行初始化:类名 const 对象名(参数表)

声明常成员函数:类型标识符 类名:: 函数名(参数列表) const

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女汉纸一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值