mystatic.cpp

来自「Visual C++高级编程及其项目应用开发(含源代码)」· C++ 代码 · 共 46 行

CPP
46
字号
#include <iostream>
#include <string>

using namespace std;

class CBase
{
private:
	string name;
	double m_total;
	static double m_rate;
public:
	CBase(string strName, double dblRate);
	static double SetRate(double rate);
	void GetAll();
};

CBase::CBase(string strName, double dblRate) : name(strName), m_total(dblRate)
{
	return;
}

void CBase::GetAll()
{
	cout<<name<<" 当前的总数量是: "<<m_total*(1 + m_rate)<<endl;
}

double CBase::SetRate(double rate)
{
	m_rate =rate;
	return m_rate;
}

double CBase::m_rate =0.005;
void main()
{
	CBase obj("Jack", 200008);
	//CBase::m_rate =0.008;		//此处错误,将权限改为public则正确
	//obj.m_rate =0.008;		//此处错误,将权限改为public则正确

	CBase::SetRate(0.008);		//可以通过基类直接调用静态函数
	obj.GetAll();

	obj.SetRate(0.009);			//可以通过类的实例对象来调用静态函数
	obj.GetAll();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?