类的静态成员函数应用实例

24 篇文章 0 订阅

类的静态成员函数(static)是属于类的所有对象所共有,存放在静态存储区,不可以在定义中出现分配内存的语句(如int a=9;)。

本次的实例是说类的静态成员函数在使用时可以不用先定义一个对象,然后通过对象来调用,但是非static函数,就必须通过对象来调用。

#include
using namespace std;

class Point
{
private:
      int x,y;
      static int set;
public:
     Point():x(0),y(0){}
     Point(int a,int b):x(a),y(b){}     
     static void GetPoint(){cout< <<"   ";}
      void ShowPoint(){cout< <<"  "<
};
int Point::set=0;
int main()
{
Point::GetPoint();          //call GetPoint() without define an object
//Point::ShowPoint();    //wrong ShowPoint() is not static
Point point(3,4);
point.ShowPoint();
return 0;
}

这个程序同时还说明static成员函数只能访问static成员变量,无法访问非static成员变量。

 

另外还用一个最近在使用透明画刷的时候用到的这一点:

CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));

//attention! FromHandle() is a static function,can be uesed without be intilized

所以自己也明白了,如果没有掌握基本的c++知识,也很难明白建立在c++知识之上MFC应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值