C++中静态成员函数不能用static修饰的原因:
static在c++中的第五种含义:用static修饰不访问非静态数据成员的类成员函数。这意味着一个静态成员函数只能访问它的参数、类的静态数据成员和全局变量。
不能用const的原因:一个静态成员函数访问的值是其参数、静态数据成员和全局变量,而这些数据都不是对象状态的一部分。而对成员函数中使用关键字const是表明:函数不会修改该函数访...
分类:
其他好文 时间:
2014-08-04 18:03:07
阅读次数:
211
function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。std::function可以绑定到全局函数/类静态成员函数(类静态成员函数与全局函数没有区别),如果要绑定到类的非静态成员函数,则需要使用std::bind...
分类:
其他好文 时间:
2014-08-04 13:51:07
阅读次数:
217
/*样例1: class Parent{ int num = 3; } class Child extends Parent{ int num = 4; }*//*样例2:class Parent{}class Child extends Parent{ int num...
分类:
编程语言 时间:
2014-07-28 14:36:43
阅读次数:
214
为了访问公有派生类的特定成员,可以通过讲基类指针显示转换为派生类指针。也可以将基类的非静态成员函数定义为虚函数(在函数前加上virtual) 1 #include 2 using namespace std; 3 4 class base{ 5 public: 6 /*virtual*/ ...
分类:
其他好文 时间:
2014-07-17 18:04:41
阅读次数:
300
非静态成员函数编译器内部已将member函数实体转换为对等的nonmember函数实体。转化步骤:1.改写函数原型以安插一个额外的参数到member function中,使class object可以调用该函数,该额外参数为this指针。2.将函数中每一个对nonstatic data member...
分类:
编程语言 时间:
2014-07-16 16:54:01
阅读次数:
190
不能被继承的类(私有构造函数) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendy题目: 用C++设计一个不能被继承的类.可以使用私有构造函数, 并提供静态成员函数, 返回和删除类的实例.则只能在堆上创建实例, 不能在栈上创建.代码:/*
* main.cpp
*
* Created on: 2014.7.13
* Author:...
分类:
编程语言 时间:
2014-07-16 13:27:21
阅读次数:
252
在C++的TR1中(TechnologyReport)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类的非静态成员函数时。可以参考Scott Meyers. >. Item 35.下面具体说明其使用方法。
一、指向全局函数或静态成员函数时
因为在本质上讲全局函数和静态成员函数没有区别,使用方法上除了静态成...
分类:
编程语言 时间:
2014-07-08 16:23:42
阅读次数:
309
当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。 静态数据成员的用途之一是统计...
分类:
编程语言 时间:
2014-07-03 10:16:58
阅读次数:
230
类成员函数除了static数据成员,类还可以有static成员函数。静态成员函数只能访问其他的static成员,包括数据成员和成员函数。例3-38本例声明了一个内联的static成员函数getN。在例3-35中,我们知道对象和非静态成员函数(包括构造函数和析构函数)可以访问像n这样的static数据...
分类:
其他好文 时间:
2014-07-02 19:44:32
阅读次数:
220
Singleton 是对全局变量的取代策略
作用:保证一个类只能有一个实例,并提供一个全局唯一的访问点。
仅有一个实例:通过类的静态成员变量来体现。
提供访问它的全局访问点:访问静态成员变量的静态成员函数来体现。
《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例。
单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问...
分类:
其他好文 时间:
2014-06-30 20:27:52
阅读次数:
255