static
来源:互联网 发布:php上传文件函数 编辑:程序博客网 时间:2024/05/22 08:13
1. static成员变量与static成员函数使用注意点及原因。
2. 如何修改static成员变量的值。
3. 为什么会使用static数据成员呢?主要是因为可以节省空间和时间的浪费。例如CS游戏中你需要每一个人都知道当前状态下你的队友数目及敌人数目,大家可以共享这些数据,而如果人手一份数据,那必然会导致不必要的浪费。
1) static只被该类所有的成员共享—>类内声明,类外(.h\.cpp文件均可)定义
2) static只有1个地址—>只在声明(成员变量和函数均如此)时使用关键字
3) static成员变量的地址在编译时确定(普通变量的地址实例出现后确定)—>非静态成员函数可以调用静态成员和静态成员函数,但是静态成员函数只能调用静态变量
4) 两者区别只是地址单一还是可以多个—>static成员可以动态赋值
.h文件:
class SavingsAccount{public:SavingsAccount(double a):savingsBalance(a){};double calculateMonthlyInterest();void print();static void setAnnualInterestRate(double);private:static double annualInterestRate;double savingsBalance;};
.cpp文件:
#include<iostream>using namespace std;#include"SavingsAccount.h"double SavingsAccount::calculateMonthlyInterest(){return savingsBalance*annualInterestRate/12.0;}void SavingsAccount::setAnnualInterestRate(double a ){annualInterestRate=a;}void SavingsAccount::print(){cout<<calculateMonthlyInterest()+savingsBalance<<"\n";}
.cpp文件:
#include<iostream>#include"SavingsAccount.h"using namespace std;double SavingsAccount::annualInterestRate=0.03;int main(){SavingsAccount saver1(2000.00);SavingsAccount saver2(3000.00);saver2.print();saver1.print();double s;cin>>s;saver1.setAnnualInterestRate(s);saver1.print();saver2.print();}
输出:
(其中0.04是自己输入的s的值)
0 0
- static
- static
- static{}
- static
- static
- Static
- static
- static
- Static
- static
- static
- static
- static
- static
- static
- static
- static
- static
- hdu2570 迷瘴
- 浅谈qq空间营销方法
- 系统架构
- zoj3758 Singles' Day
- 授予 Integration Services 服务权限
- static
- 防止表单重复提交
- 通过SSH运行远程主机上的X程序
- poj1230 Pass-Muraille
- Web前端开发小计
- C++ 中数组的指针和下标
- Android中的互动交流 之 Toast
- java socket编程,客户端发出检索字段,服务端查询数据并返回结果集
- 制作新浪微博