本文和大家分享的主要是c++中static数据成员的相关用法及源码示例,希望能帮助大家更好的学习C++。
static(静态存储)数据成员
StaticTest.cpp : 定义控制台应用程序的入口点。
1.知识点
static(静态存储)数据成员:编译时就被创建和初始化。
2.代码
#include "stdafx.h"
#include
using namespace std;
class computer
{
private:
float price;
public:
static float total_price;//static数据成员 向编译器描述:如何为static数据成员分配内存
computer(const float p)
{
price = p;
total_price += p;
}
~computer()
{
total_price -= price;
}
void print()
{
cout<<"总价:"<<total_price<<endl;
}
};
float computer::total_price = 0;//真正的内存分配
int _tmain(int argc, _TCHAR* argv[])
{
computer comp1(7000);
cout<<"购买电脑1后"<<endl;
//comp1.print();
cout<<computer::total_price<<endl;;
computer comp2(4999);//
cout<<"总价:"<<"购买电脑2后"<<endl;
comp1.print();
computer comp3(2500);
cout<<"购买电脑3后"<<endl;
comp1.print();
//推掉电脑2
comp2.~computer();
cout<<"退掉电脑2后"<<endl;
comp1.print();
return 0;
}
3.运行结果