C++初级复习

本文解析了类的静态成员概念,包括静态成员变量的共享特性、如何在类内外声明和初始化,以及其在编程中的应用场景。讨论了静态成员的访问权限、不完全类型特性和作为默认实参的应用。还涉及了静态成员与普通成员的区别,如静态成员函数内不能使用this指针。
摘要由CSDN通过智能技术生成

类的静态成员

静态成员变量

所有对象共享数据

类内声明,类外初始化

不能在static函数域内使用this指针

class Account{
public:
	void cal()
	{
	amount+=amount*rate_num;
}
	static double rate(){return rate_num;}
	static void rate(double);
private:
	std::string owner;
	double amount;
	static double rate_num;
	static double initRate();
	}

可通过类名及对象访问

double r;
r=Account::rate();//使用作用域访问静态成员
Account ac1;
Account *ac2=&ac1;
r=ac1.rate();
r=ac2->rate();

静态成员变量也是有访问权限的(public;private;protected)

静态成员可以用于某些场景而普通成员不能

	①静态成员可以是不完全类型;
class Bar{
public:
private:
	static Bar men1;//正确,静态成员可以是不完全类型
	Bar *men2;//正确,指针成员可以是不完全类型
	Bar men3;//错误,数据成员必须是完全类型
}
	②静态成员可以作为默认实参,非静态不可,因为它的值本身属于对象的一部分
class Screen{
public:
//bkground表示一个类中稍后定义的静态成员
	Screen& clear(char=bkground);
private:
	static const char bkground;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值