标签:
// ConsoleApplication34.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; class Parent { public: Parent() { //cout << "我是爹" << endl; } virtual void print() { cout << "我是爹" << endl; } private: int a; }; class Child :public Parent { public: Child() { } void print() { cout << "我是儿子" << endl; } private: int b; }; int main() { //返回值类型 (域作用符::*函数指针名称)(方法参数签名) 下面这个是无参的 //void (Child::*fptr)(); 无参的 //void (Child::*fptr)(int,int);有参的,自行领悟吧 //解释:无返回值类型 作用域是属于Child类的函数指针 即:是指向Child类的任何无参成员函数的函数指针 void (Child::*fptr)(); //最终绑定 指向 Child类的print函数的函数指针 fptr= &Child::print;; Child arr[] = { Child(),Child(),Child() }; //Parent *p; //Child* c; //p = arr; //c = arr; //p->print(); //c->print(); //p++; //c++; //p->print(); //c->print(); //p++; //c++; //p->print(); //c->print(); (*arr.*fptr)(); //相当于 arr[0].print(); (*(arr+1).*fptr)(); (*(arr + 2).*fptr)(); system("pause"); return 0; }
标签:
原文地址:http://www.cnblogs.com/kexb/p/5539934.html