- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;程序中每个变量在其生存期内存放位置是不变,具有固定存放地址。;;;;对指针错误赋值举例
int i,*p1=i; //不能给指针赋变量本身值,应将变量地址值赋给它
double *p2=i; //不能用不一样类型变量地址来给指针赋值;;; p1=j; //将变量j地址值赋给指针p1
p2=i; //将变量i地址值赋给指针p2
cout″p1=\tj\t″″p2=\ti″endl;
cout″i=\t″i″\tj=\t″jendl;
cout″*p1=\t″*p1″\t*p2=\t″*p2endl;
return 0;
};申明二级指针形式如下:
数据类型 **标识符; int i;
int *p=i,**pp=p; //申明指针p指向变量i,并申明指针pp指向指针p
i=1;
cout″i=\t″iendl;
cout″*p=\t″*pendl; //输出指针p所指向变量i值
cout″p=\t″pendl; //输出指针p值,也即变量i地址值
cout″*pp=\t″*ppendl; //输出指针pp所指向指针变量p值
cout″**pp=\t″**ppendl; //输出指针pp所指向指针变量p所指向 //变量i值
return 0;
}; 通过二级指针访问目标单元中数据值必须使用两个“*”号。;;利用指针对数组进行操作时,也必须注意越界问题。
例如: int x[5];
int *p=x; //指针p指向数组x首地址
p= p+5;
*p=10;;例如: int x[5],i;
int *p1=x[1], *p2=x[4];
i=p2-p1;;;例如:
Cuboid cuboid1(10.0,20.0,30.0);
Cuboid *pcuboid=cuboid1;
double area=(*pcuboid).getSurfaceArea(); ;;{
year=y;
month=m;
day=d;
}
void Date::setDate(int y,int m,int d) //实现变化日期函数
{
year=y;
month=m;
day=d;
}
void Date::showDate() const //实现输出日期函数
{
coutyear″年″month″月″day″日″endl;
}
int main()
{
Date date; //申明对象
Date *pdate=date; //申明对象指针 ; date.showDate(); //通过对象名访问公有组员函数
pdate-showDate(); //通过对象指针访问公有组员函数
date.setDate(2023,6,30); //变化日期值
date.showDate();
pdate-showDate();
pdate-setDate(2023,12,31);
date.showDate();
pdate-showDate();
return 0;
};;; this-day=d;
}
void Date::setDate(int y,int m,int d) //实现变化日期函数
{
this-year=y; //显式使用this指针
this-month=m; // this指针指向正在操作对象
thi
文档评论(0)