创建一个基于对话框的工程,工程名为CreateThreadRect 在CreateThreadRect.cpp中增加一个ThreadProc函数,代码如下 工作者线程的函数必须是全局函数或静态成员函数,不能是普通的成员函数 DWORD WINAPI ThreadProc(LPVOID pParam) ...
分类:
编程语言 时间:
2016-06-22 15:19:01
阅读次数:
161
代码: 输出: 分析: 1、静态成员变量不能在类中初始化,需要在类外初始化。 2、静态成员函数只能访问静态成员变量,普通成员函数则没有这个限制。 3、静态成员函数不能为虚函数。 ...
分类:
编程语言 时间:
2016-05-18 15:56:24
阅读次数:
129
C++静态成员变量和静态成员函数使用总结:
一.静态成员变量:
类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点:
1.静态数据成员的定义。
静态数据成员实际上是类域中的全局变量。所以...
分类:
编程语言 时间:
2016-05-16 14:35:07
阅读次数:
218
代码: 输出: 分析: 注意普通成员函数与静态成员函数的不同。 ...
分类:
编程语言 时间:
2016-05-15 15:22:35
阅读次数:
219
运算符重载就是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。
实质: 函数重载。在实现过程中,首先把制定的运算表达式转化为对运算符函数的调用,将运算对象转化为运算符函数的实参,然后根据是惨的类型来确定需要调用的函数,这个过程是在编译过程中完成的。
运算符重载的形式有两种,即重载为类的非静态成员函数和重载为非成员函数。
运算符重载为类的成员函数的一般语法形式为:...
分类:
其他好文 时间:
2016-05-12 20:13:06
阅读次数:
150
静态成员函数 声明时包含关键字static。注意以下两点: 1、使用静态成员函数时不能通过对象或者this指针来调用,只能使用类名+作用域解析符来调用。 2、静态成员函数只能使用静态成员。 new操作符 在使用 之后,new操作符可以在分配内存时指定内存位置。例如: delete ptr1调用了类的 ...
分类:
编程语言 时间:
2016-05-06 20:15:31
阅读次数:
129
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。 1.为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。 多态的运行期行为体现在虚 ...
分类:
编程语言 时间:
2016-04-24 20:16:45
阅读次数:
177
问题:单例模式中,静态函数中实例化了类对象,私有构造函数得到执行。构造函数是非静态成员函数,难道静态函数中能调用非静态函数吗?class Singleton{public: static Singleton * getInstance();private: Singleton(); ~Singlet... ...
分类:
其他好文 时间:
2016-04-21 16:47:18
阅读次数:
430
【1】Nonstatic Member Functions(非静态成员函数) C++的设计准则之一就是:nonstatic member function至少必须和一般的nonmember function有相同的效率。也就是说,如果我们要在以下两个函数之间作选择: 那么选择member funct ...
分类:
编程语言 时间:
2016-04-18 18:56:37
阅读次数:
207
让一个成员函数带上常量性是什么意思呢?通常的答案是,一个常成员函数不会更改其class对象。这是一种平凡的表述,而编译器实现的手法也相当平凡。 任何非静态成员函数其实都被编译器隐式插入了一个指针类型的参数,以在调用时有一种指向class对象自身的途径。在函数内部,关键字this被用于给出该指针的值: ...
分类:
编程语言 时间:
2016-04-18 16:59:23
阅读次数:
153