C++中static数据成员详解

时间:2022-04-17 19:56:22

    本文和大家分享的主要是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.运行结果

C++中static数据成员详解

原文链接:http://www.maiziedu.com/wiki/cplus/data/