房主儿网租房:c++中关于指针的一个问题

来源:百度文库 编辑:高校问答 时间:2024/04/29 11:08:43
class student
{public:
void get(); //在此不定义
void display();
private:
int num;
string name;
char sex;

};
void student::display()
{cout<<num<<endl;
cout<<name<<endl;
cout<<sex;
}
int main()
{student stud,*p,*p1;
student &stud1=stud;
p=&stud;
void(studnet::*p1)();
p1=&student::display;
stud.get(); //1
(stud.*p1)(); //2
p->display(); //3
stud.dispaly(); //4
stud1.display(); //5
return 0;
}

上面 1,2,3,4,5有什么区别?
说明详细一点!!
这我也知道,我只是想问他们在被调用的过程是什么样的

这些都是c++,c常见操作方式

1: 通过类的对象调用类的成员函数
2:通过函数指针指向特定函数,然后调用
3:通过指向对象的指针操作
4:原理同1
5:通过引用(别名)操作