跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

C++指向类成员的指针详解

目录一.指向普通变量和函数的指针二.指向类成员的指针

1.指向类数据成员的指针

2.指向类成员函数的指针

示例总结序言:在C++中,可以定义一个指针,使其指向类成员函数或或成员函数,然后通过指针来访问类的成员,这包括指向属性成员的指针和指向成员函数的指针。一.指向普通变量和函数的指针指向普通变量的指针int a=100;int *p = &a;指向函数的指针(即函数指针)int(*p)(int, int);这条语句的理解:定义了一个指向函数的指针变量p,首先它是一个指针变量(*p),其次前面的int表示指针变量可以指向返回类型为int型的函数,后面括号中的两个int表示这个指针变量可以指向两个参数都是int型的函数。所以合起来的意思就是:定义了一个指针变量p,该指针变量可以指向返回值类型为int型,且有两个整形参数的函数,p的类型为int(*)(int, int)

函数指针的定义方式为:函数返回值类型 (* 指针变量名) (函数参数列表);示例int Func(int x); /*声明一个函数*/int (*p) (int x); /*定义一个函数指针*/p = Func; /*将Func函数的首地址赋给指针变量p*/二.指向类成员的指针

1.指向类数据成员的指针

//定义和赋值(和类相关)数据类型 类名:: *指针名 = &类名::成员名//使用(和对象相关)//由于类不是运行时 存在的对象。因此,在使用这类指针时,需要首先指定类的一个对象,然后,通过对象来引用指针所指向的成员。类对象名.*指向非静态数据成员的指针类对象指针->*指向非静态数据成员的指针

2.指向类成员函数的指针

//定义和赋值(和类相关)函数返回类型名 (类名::*函数指针名)(参数列表) = &类名::成员函数名//使用(和对象相关)//由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定类的一个对象,然后,通过对象来引用指针所指向的成员。(类对象名.*指向非静态成员函数的指针)(参数列表)(类对象指针->*指向非静态成员函数的指针)(参数列表)示例class Stu{public:Stu(string sn,int ia):name(sn),age(ia){}void print(){cout<*fa)(); //值:wojiushiwo---30return 0;}总结本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!您可能感兴趣的文章:C++指向类成员函数的指针详细解析C++ 指向类成员的指针C++学习笔记之类成员指针

相关文章