点数信息
www.dssz.net
注册会员
|
设为首页
|
加入收藏夹
您好,欢迎光临本网站!
[请登录]
!
[注册会员]
!
首页
移动开发
云计算
大数据
数据库
游戏开发
人工智能
网络技术
区块链
操作系统
模糊查询
热门搜索:
源码
Android
整站
插件
识别
p2p
游戏
算法
更多...
在线客服QQ:632832888
当前位置:
资源下载
开发技术
C++
收藏
文件名称:
C++对象和指针的引用
所属分类:
C++
开发工具:
文件大小: 5kb
下载次数: 0
上传时间: 2012-04-26
提 供 者:
conly_l*******
下载 (5kb)
不能下载?报告错误
详细说明:
指向类的成员的指针 在C++中,可以说明指向类的数据成员和成员函数的指针。 指向数据成员的指针格式如下: <类型说明符><类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后 ,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
<类名>::*<指针名> 指向成员函数的指针格式如下: <类型说明符>(<类名>::*<指针名>)(<参数表>) 例如,设有如下一个类A: class A { public: int fun (int b) { return a*c+b; } A(int i) { a=i; } int c; private: int a; }; 定义一个指向类A的数据成员c的指针pc,其格式如下: int A:: *pc = &A::c; 再定义一个指向类A的成员函数fun的指针pfun,其格式如下: int (A:: *pfun)(int) = A::fun; 由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定A类的一个对象,然后,通过对象来引用指针所指向的成员。例如,给pc指针所指向的数据成员c赋值8,可以表示如下: A a; a.*pc = 8; 其中,运算符.*是用来对指向类成员的指针来操作该类的对象的。 如果使用指向对象的指针来对指向类成员的指针进行操作时,使用运算符->*。例如: A *p = &a; //a是类A的一个对象,p是指向对象a的指针。 p ->* pc = 8; 让我们再看看指向一般函数的指针的定义格式: <类型说明符>*<指向函数指针名>(<参数表>) 关于给指向函数的指针赋值的格式如下: <指向函数的指针名>=<函数名> 关于在程序中,使用指向函数的指针调用函数的格式如下: (*<指向函数的指针名>)(<实参表>) 如果是指向类的成员函数的指针还应加上相应的对象名和对象成员运算符。 下面给出一个使用指向类成员指针的例子: #include
class A { public: A(int i) { a=i; } int fun(int b) { return a*c+b; } int c; private: int a; }; void main() { A x(8); //定义类A的一个对象x int A::*pc; //定义一个指向类数据成员的指针pc pc=&A::c; //给指针pc赋值 x.*pc=3; //用指针方式给类成员c赋值为3 int (A::*pfun)(int); //定义一个指向类成员函数的指针pfun pfun=A::fun; //给指针pfun赋值 A *p=&x; //定义一个对象指针p,并赋初值为x cout<<(p->*pfun)(5)<
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M *m); void setxy(int i, int j) { x=i; y=j; } void print() { cout<
x; y=m->y; } void fun(M m1, M *m2); void main() { M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); } void fun(M m1, M *m2) { m1.setxy(12, 15); m2->setxy(22,25); } 输出结果为: 5,7 22,25 从输出结果可以看出,当在被调用函数fun中,改变了对象的数据成员值[m1.setxy(12, 15)]和指向对象指针的数据成员值[m2->setxy(22, 25)]以后,可以看到只有指向对象指针作参数所指向的对象被改变了,而另一个对象作参数,形参对象值改变了,可实参对象值并没有改变。因此输出上述结果。 2. 对象引用作函数参数 在实际中,使用对象引用作函数参数要比使用对象指针作函数更普遍,这是因为使用对象引用作函数参数具有用对象指针作函数参数的优点,而用对象引用作函数参数将更简单,更直接。所以,在C++编程中,人们喜欢用对象引用作函数参数。现举一例子说明对象引用作函数参数的格式。 #include
class M { public: M() { x=y=0; } M(int i, int j) { x=i; y=j; } void copy(M &m); void setxy(int i, int j) { x=i; y=j; } void print() {cout<
class A { public: A() { a=b=0; } A(int i, int j) { a=i; b=j; } void copy(A &aa;); //对象引用作函数参数 void print() {cout<
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
本站资源为会员上传分享交流与学习,如有侵犯您的权益,
请联系我们删除
.
本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行
百度
。
本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用
WinRAR最新版
进行解压.
如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录
反馈给我们
.
下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录
反馈给我们
,经确认后退回积分.
如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
相关搜索
:
指向类的成员的指针指向类的成员的指针指向类的成员的指针
输入关键字,在本站1000多万海量源码库中尽情搜索:
下载资源分类
移动开发
开发技术
课程资源
网络技术
操作系统
安全技术
数据库
行业
服务器应用
存储
信息化
考试认证
云计算
大数据
跨平台
音视频
游戏开发
人工智能
区块链
资源分类
Actionscript
C
C#
C++
Delphi
Java
Javascript
Perl
PHP
Python
VB
Web开发
硬件开发
其它
本站统计
资源总数:
630
万个
资源大小:
15
TB
今日更新:468个
注册人数:225万
今日注册:838
加入“点数信息”会员
“点数信息”是专业的,大型的源码,编程资源等搜索,交换平台,旨在帮助软件开发人员提供源码,编程资源下载,技术交流等服务!目前源码资源大小已超过8TB。
超值价格,购买下载积分,即时到帐,无需等待马上可以下载你所需的资料。无限期使用,一次购买越多越优惠!
免费获取积分
免费获得积分的途径是通过会员下载您上传的资料,您的帐户即增加积分。
立即上传资料,越多越好,被搜索到的机会越大!越早上传越早得积分,下载次数越多,您的积分越多。
合作伙伴
CodeProject
搜珍网
建筑工程网
CSDN.net
建筑资料网