静态,常量,友元成员

一.静态成员
1.类中的静态成员分为两种:①数据,②函数。
2.静态数据成员,不能再类内初始化。

class student
{
public:
	static int a;
};
int student::a = 10;

3.静态数据成员会在主函数运行之前初始化。
4.静态数据成员,无论共有还是私有都要类外初始化。
5.静态数据成员是公有,可以用作用域运算符来直接访问:类名::静态数据成员
6.静态函数可以操作静态数据成员和静态函数成员,不能操作类中普通成员
7.普通函数也可以对静态数据成员和静态函数赋值和调用。
二.常量成员
1.类中常量成员分为两种:常量数据成员和常量函数成员
2.类中的常量数据成员必须要用初始化列表的方式进行初始化。
3.类中的常量函数成员,这个函数不能对自身变量进行修改。

void fun()const
{}
	①只要是this指针所指向的所有数据,在这个函数里面都不可以改
	②初始化之外的形参数据,临时变量,不属于this指针的数据都可以改

4.对象被说明为常量对象时,这个对象只能调用常量数据成员和函数
①这个对象里面的所有数据都是不可以被修改的
②可以改对象里面的静态成员,因为静态成员不属于对象
友元成员
1.类的特点是封装,友元是c++为用户打破这种封装的手段
2.友元分为两种:友元函数,友元类。
在函数或类前面加friend
友元函数

#include <iostream>
using namespace std;
class student
{
	int a;
public:
	friend void fun(student& stu);
	student()
	{
		this->a = 8;
	}
};
void fun(student& stu)
{
	stu.a = 8989;
	cout << stu.a << endl;
}
int main()
{
	student stu;
	fun(stu);
	system("pause");
	return 0;
}


友元类

#include <iostream>
using namespace std;
class A
{
	int a;
public:
	friend class B;
	A()
	{
		this->a = 89;
	}
	~A()
	{

	}
};
class B
{
public:
	void fun(A& aa)
	{
		cout << aa.a << endl;
	}
};
int main()
{
	A aa;
	B b;
	b.fun(aa);
	system("pause");
	return 0;
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值