静态函数调用非静态函数的小例子


// 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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-30 00:02:46

静态函数调用非静态函数的小例子的相关文章

静态函数调用非静态函数的小样例

// 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 : 定义控制台应用程序的入口点. //

c/c++ 继承与多态 文本查询的小例子(非智能指针版本)

问题:在上一篇继承与多态 文本查询的小例子(智能指针版本)在Query类里使用的是智能指针,只把智能指针换成普通的指针,并不添加拷贝构造方法,会发生什么呢? 执行时,代码崩掉. 分析下面一行代码: Query qb = ~Query("Alice"); 1,首先调用Query(string)的构造函数,把Query的成员q指向了new WordQuery(s) Query::Query(const std::string& s) : q(new WordQuery(s)){ s

.NET 基础 一步步 一幕幕[面向对象之静态、非静态]

静态.非静态 先来看一段代码来区分静态与非静态: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 静态和非静态的区别 { /** * 非静态类 * 既可以定义静态字段.静态属性.静态方法. * 也可以定义非静态(实例成员)字段.非静态(实例成员)属性.非静态(实例成员)静态方法. **/ //非

关于静态与非静态之详细总结

花费了些功夫,差不多搞明白了: 大家会看到有些地方不停重复出现--那就是你要找的东西 本文参考多处,具体出处就不写了. 静态和非静态: 字段.函数成员的声明中含static修饰符时是静态成员,否则是非静态成员(实例成员): 数据成员可以分静态变量.非静态变量两种. 静态成员属于类,而非静态成员(实例成员)属于对象.对于类的数据成员来说,如果是静态的,那么他将是类的一部分,为所有实例共享,如果是非静态的,则每个实例有一份考贝. 类的非静态成员属于类的实例所有,每创建一个类的实例都在内存中为非静态成

静态调用非静态方法

<?php class myClass { private $name = "myClass"; public function echoName(){ echo $this->name; } public function getName(){ $this->echoName(); } } class newClass { private $name = "newClass"; public function echoName(){ echo $

JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)

调用非静态方法首先就是调用的静态方法得到要调用的java的类对象然后通过调用minfo.env->CallVoidMethod(activityObj, minfo.methodID);方法把对象和要调用的方法以及参数(如果有 )传递个java类对象中的非静态方法: java类: // c++中調用的方法public static Object rtnActivity() {System.out.println("----------rtnActivity");return ma

java 静态变量与静态函数

%带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 在调用带有静态方法的类中的静态方法的时候,直接用类名.方法名就可以了.例如,math.sin(); Java的静态变量和静态函数 静态变量: 在JAVA中类在声明的时候,其实并没有申请和产生内存空间,就如同我们的一个切实可行的想法,但其实并没有去实施这个想法.而类只有在用这种数据类型创建一个类的对象的时候,才能在内存中申请和产生类大小的内存空间,这一块内存空间是用来存放成员变量和成员函数的备份.所以在类声明的时候,是不可以对成员变量进行

python2.7练习小例子(二十四)

    24):1.题目:利用递归方法求5!.     程序分析:递归公式:fn=fn_1*4! #!/usr/bin/python # -*- coding: UTF-8 -*- def fact(j): sum = 0 if j == 0: sum = 1 else: sum = j * fact(j - 1) return sum print fact(5)     以上实例输出结果为: 120     python3 参考方案: def Factorial(n):     if n ==

JavaScript基础中的基础(小例子:滚动字幕)

一.变量 局部变量声明前面要加"var" <script type="text/javascript"> // 全局变量 name = 'alex'; function func(){ // 局部变量 var age = 18; // 修改全局变量name name = "eric" } </script> 二.数据类型 数据类型有:数字.字符串.布尔值      数组.字典 数字.字符串.布尔值.null.undefin