当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《面向对象程序设计》第四章 类与对象的构造设计(4.8)指向类成员的指针

资源类别:文库,文档格式:DOC,文档页数:1,文件大小:39KB,团购合买
C++提供一种特殊的指针类型,它指向类的成员,而不是指向该类的一个对象中该成员 的一个实例,这种指针称为指向类成员的指针。 指向类X中类型为type数据成员的指针的说明形式为 type X: :*pointer:
点击下载完整版文档(DOC)

4.8指向类成员的指针 C++提供一种特殊的指针类型,它指向类的成员,而不是指向该类的一个对象中该成员 的一个实例,这种指针称为指向类成员的指针。 指向类X中类型为type数据成员的指针的说明形式为 type X::*pointer 若类X为数据成员 member的类型为tpe,则语句 pointer=&X:: member 将该成员的地址存入 pointer中。 注意:1、取一个类成员的地址使用表达式&X:: member得到的地址不是真实地址,而 是成员 member在类中的所有成员中的偏移。因此,若要访问某个对象中 pointer所指向 的成员,使用特殊的运算符“.*”和“->*”。 2、在使用指向类成员的指针访问对象的某个成员时,必须指定一个对象。如果 该对象由对象名或引用标识,则使用运算符“.*”;如果是使用指向对象的指针来标识,则 使用运算符 例如:EX45aCPP 下面的程序比较指向类成员的指针与一般的指针的区别: cl obj(10) int*p=&obj. val; 指向X类中参数类型列表为it,返回类型为type的成员函数的指针说明形式为: type(X "pointer (list): 如果类Ⅹ的成员函数 function的原型与 pointer所指向的函数的原型一样,则语句 pointer=X: function; 将该函数的地址(即它在该类的所有成员中的偏移)置给了指针 pointer。与指向数据 成员的指针类似,使用对象名或引用调用 pointer所指向的函数时使用运算符“.*”;如果 是使用指向对象的指针调用 pointer所指向的成员函数时使用运算符“->*”。 例如:EX45b.CPP 当一个指向类成员的指针指向一个虚函数时,并且通过指向对象的指针(或引用)访问 这个虚函数时,仍发生多态性。 例如:EX45c.CPP 指向类的静态成员的指针的定义和使用与一般指针的定义和使用方法一样。 例如:EX45.CPP

4.8 指向类成员的指针 C++提供一种特殊的指针类型,它指向类的成员,而不是指向该类的一个对象中该成员 的一个实例,这种指针称为指向类成员的指针。 指向类 X 中类型为 type 数据成员的指针的说明形式为: type X::*pointer; 若类 X 为数据成员 member 的类型为 type,则语句: pointer=&X::member; 将该成员的地址存入 pointer 中。 注意:1、取一个类成员的地址使用表达式&X::member 得到的地址不是真实地址,而 是成员 member 在类 X 中的所有成员中的偏移。因此,若要访问某个对象中 pointer 所指向 的成员,使用特殊的运算符“.*”和“->*”。 2、在使用指向类成员的指针访问对象的某个成员时,必须指定一个对象。如果 该对象由对象名或引用标识,则使用运算符“.*”;如果是使用指向对象的指针来标识,则 使用运算符“->*”。 例如:EX4_5a.CPP。 下面的程序比较指向类成员的指针与一般的指针的区别: cl obj(10); int *p=&obj.val; cout*”。 例如:EX4_5b.CPP 当一个指向类成员的指针指向一个虚函数时,并且通过指向对象的指针(或引用)访问 这个虚函数时,仍发生多态性。 例如:EX4_5c.CPP 指向类的静态成员的指针的定义和使用与一般指针的定义和使用方法一样。、 例如:EX4_5.CPP

点击下载完整版文档(DOC)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有