类复习

题目描述

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

class Help{
public:
    Help()
    {
        N++;sum+=N;
    }
static int getsum()
{
    return sum;
}
   static void reset()
   {
       N=0;
       sum=0;
       
   }
 
private:  
   static int N;
   static int sum;
};
int Help::N=0;
int Help::sum=0;
class Solution {
public:
    int Sum_Solution(int n) {
    Help::reset();
    Help *p=new Help[n];    
     delete []p;
     p=NULL;
      return Help::getsum(); 
    }
  
};

借用类的构造函数来多次调用。

注意!静态成员函数、成员变量  static数据成员独立该类的任意对象存在,它是与类关联的对象,不与类对象关联

静态成员变量需要再类外进行初始化!别忘了在类名::前面加成员变量类型;

static成员函数特点

  • 因为static成员函数没有this指针,所以静态成员函数不可以访问非静态成员。
  • 非静态成员函数可以访问静态成员。
  • 静态数据成员与类的大小无关,因为静态成员只是作用在类的范围而已。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页