1+2+3....+n的构造函数求法(类的静态成员变量)
来源:互联网 发布:java程序员面试 编辑:程序博客网 时间:2024/05/03 02:23
解法一:
1.static变量在类外赋值,且前面要加类型。
3 类的静态成员变量在使用前必须先初始化。
2.这题为什么要先reset一下,在外面不是赋值了吗?
class tmpClass{public: tmpClass() { ++N; sum+=N; } static int getsum() { return sum; } static void reset() { N=0; sum=0; } private: static int sum; static int N; };//类的静态成员变量在使用前必须先初始化。int tmpClass::sum=0;//这里必须要有intint tmpClass::N=0;class Solution {public: int Sum_Solution(int n) { tmpClass::reset();//这里必须要重新置0,可能没有初始化成功?? tmpClass* tmparr=new tmpClass[n]; delete []tmparr; return tmpClass::getsum(); }};
结论1:不能通过类名来调用类的非静态成员函数
结论2:类的对象可以使用静态成员函数和非静态成员函数。
因为静态成员函数属于整个类,在类实例化对象之前就已经分配空间了,而类的非静态成员必须在类实例化对象后才有内存空间,所以这个调用就出错了,就好比没有声明一个变量却提前使用它一样。
结论3:静态成员函数中不能引用非静态成员。
结论4:类的非静态成员函数可以调用用静态成员函数,但反之不能。
类的静态成员变量在使用前必须先初始化。
结论5:类的静态成员变量必须先初始化再使用。
0 0
- 1+2+3....+n的构造函数求法(类的静态成员变量)
- 类的 静态成员 --- 静态成员变量 、 静态成员函数
- C++的静态成员函数,成员变量,构造函数,析构函数,拷贝构造函数
- 子类、父类、静态成员变量,构造函数的执行顺序
- c++类的静态成员,构造函数
- 类的静态成员函数和静态成员变量
- c++类的静态成员变量/静态成员函数
- 25-类的静态成员变量和静态成员函数
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- [C++]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- 类成员函数的静态变量
- 成员函数的静态变量
- 成员变量的初始化和构造函数(1)
- 构造函数,this关键字,及静态方法,静态变量成员变量,静态代码块,构造代码块的问题
- 父子类,实例、静态成员变量,构造函数的执行顺序
- Java静态变量 静态代码块 主函数 成员变量 构造代码块 构造函数的执行顺序
- 静态类成员函数无法访问普通的成员变量
- Codeforces 574D Bear and Blocks【思维】
- memcache session共享
- iOS——UITableViewCell
- 来到csdn的第一天,先记录一个谷歌网页打不开的解决方式吧!
- T extends Comparable<T>
- 1+2+3....+n的构造函数求法(类的静态成员变量)
- Ubuntu ,anaconda安装tensorflow最新GPU-1.0.0版本
- NYOJ 211 tree(二叉树的遍历与创建)
- JavaScript中的this详解(1)
- JavaScript中apply和call用法的理解
- 使用sxstrace.exe调试Windows应用程序运行时动态链接库的加载异常
- Unity 3D 的 Collision碰撞 与 Trigger 触发的 区别
- 高性能网络编程2----TCP消息的发送
- ThreadLocal介绍