精华内容
下载资源
问答
  • C++Static 静态函数调用非静态函数

    千次阅读 2018-01-12 21:21:44
    test.h class test : { public: test(void); ~test(void); public: //你的其他函数 ... .... protected: //你的其他函数 ... ... static void CALLBACK TimeProcFu(HWND hwnd,UINT messa
     test.h
    class test :
    {
    public:
        test(void);
        ~test(void);
    
    
    public:
        //你的其他函数
        ...
        ....
    protected:
    
        //你的其他函数
        ...
        ...
        static void CALLBACK TimeProcFu(HWND hwnd,UINT message,UINT idTime,DWORD dwTime);
    
        void aa();
    private:
        static test* m_staticSelf; 
    };
    test.cpp
    
    test* test::m_staticSelf; 
    
    test::test(void)
    {
        //构造函数
        m_staticSelf = this;
    
    }
    
    test::~test(void)
    {
    
    }
    
    void CALLBACK test::TimeProcFu( HWND hwnd,UINT message,UINT idTime,DWORD dwTime )
    {
        m_staticSelf->aa();
    }
    
    void test::aa()
    {
        //你的执行代码
    }
    展开全文
  • // tt.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" class A { public: void fun() { printf("1111111111"); } static void fun2() { fun(); } }; int _tmain(int argc, _TCHAR* ......
    
    
    // tt.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    class A
    {
    public:
    	void fun()
    	{
    		printf("1111111111");
    	}
    
    	static void fun2()
    	{
    		fun();
    	}
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	A a;
    	A::fun2();
    
    	return 0;
    }
    


    // tt.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    class A
    {
    public:
    	void fun()
    	{
    		printf("1111111111");
    	}
    
    	static void fun2(A a)
    	{
    		a.fun();
    	}
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	A a;
    	A::fun2(a);
    
    	return 0;
    }



    转载于:https://www.cnblogs.com/mfmdaoyou/p/7305113.html

    展开全文
  • 静态函数调用非静态函数的小例子

    千次阅读 2015-08-19 19:02:16
    // tt.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" class A { public: void fun() { printf("1111111111"); } static void fun2() { fun(); } }; int _tmain(int argc, _TCHAR* ... A:
    
    
    // tt.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    class A
    {
    public:
    	void fun()
    	{
    		printf("1111111111");
    	}
    
    	static void fun2()
    	{
    		fun();
    	}
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	A a;
    	A::fun2();
    
    	return 0;
    }
    


    // tt.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    class A
    {
    public:
    	void fun()
    	{
    		printf("1111111111");
    	}
    
    	static void fun2(A a)
    	{
    		a.fun();
    	}
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	A a;
    	A::fun2(a);
    
    	return 0;
    }



    展开全文
  • 静态函数调用非静态,首先要获取到对话框指针,最简单最不推荐的方法是定义个全局变量保存对话框指针,通用性最强的是把指针作为静态函数的参数传进来。取巧的方法,如果对话框是主对话框可以AfxGetApp->...

    静态函数中调用非静态,首先要获取到对话框指针,最简单最不推荐的方法是定义个全局变量保存对话框指针,通用性最强的是把指针作为静态函数的参数传进来。取巧的方法,如果对话框是主对话框可以AfxGetApp->GetMainWnd获取指针。如果静态函数不是运行在主线程,不能直接调用Updatedata这种直接或间接通过消息实现的函数。正确的做法是发消息给主线程,让主线程来更新。

    其实把类自己的指针作为参数传入到静态函数中 就可以使用了

    展开全文
  • //error C2352:非静态成员函数的非法调用 //doSome(); //error C2355: “this”: 只能在非静态成员函数非静态数据成员初始值设定项的内部引用 //std::cout << this->ID ; //不在外部int baseWork::s_ID = 666; 的...
  • 静态函数调用

    2020-01-09 15:48:09
    静态函数 #include <iostream.h> class Point { public: void output()//非静态成员函数 ...调用1:非静态成员函数和非静态成员属于对象的方法和数据,也就是先产生类的对象,然后通过类的对象去引用。 voi...
  • 场景:在使用回调函数时,需要将回调函数设置为静态函数,但是在该回调函数中需要引用非静态成员变量 方法1:声明一个全局变量,比如 llll* g_llll; 在构造函数中,将this指针赋给g_llll; 在静态回调函数中,...
  • 原来... C++中静态成员函数访问非静态成员变量   C++中静态成员函数访问非静态成员变量   先看一个class class a { public:  static Fun
  • 我写了一个静态函数CMyDlg::OnRecv(),然后我想在这个函数里面调用非成员函数UpdateData(FALSE),目的就是想让数据传到控件中,应该怎么解决呢?如果不调用UpdateData(FALSE)函数,有其他别的方法吗?
  • 1.1.1.静态成员变量的使用细节 点击查看视频教程 一个类的静态成员变量在内存中只有一份,所有类都共享这一份数据。 1 ... 1.1.1.静态方法的调用问题 ...结论:在非静态函数中,可以直...
  • test.h class A { private: static A *s_gA; int m_num; public: A(); ~A(); static void FuncA(); void FuncB(); }; test.cpp #include "test.h" A* A::s_gA = NULL; A::A() { s_gA = this;...<
  • 用静态成员函数调用非静态成员变量 C++会区分两种类型的成员函数:静态成员函数和非静态成员函数。这两者之间的一个重大区别是,静态成员函数不接受隐含的this自变量。所以,它就无法访问自己类的非静态成员...
  • #include #include class Class; typedef struct { Class *pClass; int x; int y; }ParaNode; class Class { public: int i; void Seti(int index) ... bool SaneCommandSASTest(int x,int
  • 非静态函数由对象名或者对象指针->调用调用时编译器会向函数传递this指针 静态成员函数则由类名::或者对象名调用 非静态函数中有this指针,静态函数中没有this指针,不能访问对象的成员函数,成员函数有this...
  • 静态成员函数调用非静态成员变量

    千次阅读 2013-08-06 18:00:48
     非静态成员(变量和函数(方法))属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。  在一个类的静态成员中去访问其非静态成员之所以会出错是因为在类的...
  • 静态成员函数调用非静态成员变量(转) (2010-08-27 19:48:10) 转载▼ 标签: 杂谈   程序最终都将在内存中执行,变量只有在内存中占有一席之地时才能被访问。 类的静态成员(变量和...
  • 在多人开发的项目中,一些通用的工具类接口可以用静态成员函数。方便调用,并且不容易调用错误。静态成员函数不传递this指针(不能-&...静态成员函数如果必须访问非静态成员变量,必须通过对象来引用。...
  • 只需要把类指针作为参数引入就可以调用了,但是在回调函数中缺无法引入,因为回调函数的调用其格式必须与设置回调函数中的回调函数形参一样,我们无法修改回调函数的格式,但又有必要调用非静态函数和非静态变量时...
  • C++会区分两种类型的成员函数:静态成员函数非静态成员函数。这两者之间的一个重大区别是,静态成员函数不接受隐含的this自变量。所以,它就无法访问自己类的非静态成员。    在某些条件下,比如说在使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,471
精华内容 1,388
关键字:

静态函数调用非静态函数