static数据成员/成员函数

上一篇 / 下一篇  2007-11-25 14:03:24 / 个人分类:c++

static静态数据成员

静态数据成员:使用方法和 普通数据成员 一样. 必须初始化,一般在构造函数后初始化.

 静态数据成员 为所有 类对象 共享,都可以修改,见static func 实例.

实例:

// 静态数据成员.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

class MyDate
{
public:
 MyDate(int y = 0,int m = 0, int d = 0);
 void printDate();
private:
 int myYear;
 int myMonth;
 int myDay;
 static int objectSum;
};

MyDate::MyDate(int y ,int m, int d)
{
 myYear = y;
 myMonth = m;
 myDay = d;
 objectSum++;
}

int MyDate::objectSum = 0;

void MyDate::printDate()
{
 cout<<"ObjectSum = "<<objectSum <<endl;
 return ;
}

int _tmain(int argc, _TCHAR* argv[])
{
 MyDate date1(1984,9,18);
 date1.printDate();
 MyDate date2(1984,4,13);
 date2.printDate();

 date1.printDate();
 
 getchar();
 return 0;
}

static静态函数

static成员函数: static + 函数原型;   仅能访问  static静态数据成员

static静态数据成员  ,可以为 所有 类对象共享,并且修改.

实例:

// statci func.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

class A
{
public:
 static int i;
 int j;
 static void print();
  
};
int A::i = 0;
void A::print()
{
 cout<<i<<endl;
 //cout<<j<<endl;
}
int _tmain(int argc, _TCHAR* argv[])

 A a;
 a.print();
 a.i = 10;
 a.print();
 getchar();
 return 0;
}


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar