静态成员函数怎样使用类里的其它成员变量? 注意:没有办法传递this指针进函数里.先谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 成员变量 -> 加 static静态函数, 没有this static CHTHBServerDlg *dlg;int num;dlg = this;static CHTHBServerDlg ::fun(){ int a = dlg->num ; //有错}error LNK2001: unresolved external symbol "public: static class CHTHBServerDlg * CHTHBServerDlg::dlg" (?dlg@CHTHBServerDlg@@2PAV1@A) 静态成员:1。静态数据成员 和 2。静态成员函数 在类中,静态成员可以实现多个对象之间的共享,并且使用静态据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象中共享的成员,对多个对象来说,静态成员只有一个,而不是某个对象的成员。 静态成员的引用不需要用对象名。只声明对象指针,就可以使用其静态成员了。 在静态成员函数的实现中不能直接引用类中说明的非静态成员,只可以引用类中说明的静态成员。如果静态成员函数中一定要引用非静态成员时,可通过对象来引用。下面通过例子来说明这一点。#include class M{public:M(int a) { A=a; B+=a;}static void f1(M m);private:int A;static int B;};void M::f1(M m){cout<<"A="< cout<<"B="< }int M::B=0;void main(){M P(5),Q(10);M::f1(P); file://调用时不用对象名M::f1(Q);} 关于crecordset的一个疑问 百万文件中读取部分二进制文件速度问题? 初学者问:如何在MFC单文本框上显示一个标题? 监听套节字绑带到INADDR_ANY时,如果有多个IP地址,是不是都监听到了? 请问在vc中要关闭声音用什么api 用VC6(c++)开发一个给VS.net2003(c#)用的com 安装Intel C++ 8.0的问题 问一个文档序列化的问题,不知道我的要求可行否 dll的问题 有关mci,window midea等. 声卡的访问 有人知道软件测试中的capture/replay什么的软件吗?哪儿有下载呢?
int num;
dlg = this;static CHTHBServerDlg ::fun(){
int a = dlg->num ; //有错
}
error LNK2001: unresolved external symbol "public: static class CHTHBServerDlg * CHTHBServerDlg::dlg" (?dlg@CHTHBServerDlg@@2PAV1@A)
在类中,静态成员可以实现多个对象之间的共享,并且使用静态据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象中共享的成员,对多个对象来说,静态成员只有一个,而不是某个对象的成员。
静态成员的引用不需要用对象名。只声明对象指针,就可以使用其静态成员了。
在静态成员函数的实现中不能直接引用类中说明的非静态成员,只可以引用类中说明的静态成员。如果静态成员函数中一定要引用非静态成员时,可通过对象来引用。下面通过例子来说明这一点。#include
class M
{
public:
M(int a) { A=a; B+=a;}
static void f1(M m);
private:
int A;
static int B;
};void M::f1(M m)
{
cout<<"A="< cout<<"B="< }int M::B=0;
void main()
{
M P(5),Q(10);
M::f1(P); file://调用时不用对象名
M::f1(Q);
}