今天学习了很多重要的新知识。
面向对象的知识
1.方法:就是函数
2.属性:就是变量
3.关键字static 所有对象公用的,可以修饰方法,也可以修饰属性。
static修饰的方法和属性外部可以直接类调用。例如
class A { public static void f();}
A::f();
4.除静态方法和属性,只能对象调用方法和属性。
5.关键字this。this指向的属性和方法,是当前对象的属性和方法。
6.多态。类的方法同名,但形参不同。
指针函数 与 函数指针
1.指针函数是返回值类型是指针的函数,即本质是一个函数。
类型标识符*函数名(参数表)
int *f(int x,int y);
2.函数指针是指向函数的指针变量,即本质是一个指针变量。
int (*f) (int x); /声明一个函数指针,注意*f需要带括号
f=func; /将func函数的首地址赋给指针f
函数指针应用
1.软件复位
void (*p)(void)=0x0000;//启动地址0x0000
p();//运行p()时相当于让程序执行启动文件,直接复位
2.函数调用
int (*f) (int x);
f=func;//把函数func首地址给指针f
f(int abc);//相当于运行函数func(int abc);
因为每个函数在函数结尾在汇编语言层都有返回指令:RET,所以函数调用程序不会飞。但如果直接给地址0x0000紧接着的就是程序启动,所以相当于程序复位。
#define A
用途相当于去掉A。
网友评论