如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第六章数组、指针与字符串本章主要内容数组数组的概念数组的定义与使用注意:数组元素可以在定义时初始化数组作为函数参数例:对象数组对象数组初始化数组元素所属类的构造函数例6-3对象数组应用举例(P155)//Location.cpp#include<iostream.h>#include"Location.h"Location::Location(){X=Y=0;cout<<"DefaultConstructorcalled."<<endl;//显示构造信息}Location::Location(intxx,intyy){X=xx;Y=yy;cout<<"Constructorcalled."<<endl;}Locatuon::~Location(){cout<<"Destructorcalled."<<endl;//显示析构信息}voidLocation::Move(intx,inty){X=x;Y=y;}intmain(){cout<<"Enteringmain..."<<endl;LocationA[2];for(inti=0;i<2;i++)A[i].Move(i+10,i+20);cout<<"Exitingmain..."<<endl;return0;}指针1.指针的定义与使用2.指针的特殊用法2.void类型指针intj;void*pp=&j;charc;pp=&c;floatdd=900.87;pp=ⅆcout<<*(float*)pp<<endl;指针运算指针运算-赋值运算指针运算-关系运算指针运算-算术运算(+、-)指针运算-结合数组的指针运算指针运算-指针数组指针的几点建议指针的其它运用指向函数的指针指向对象voidmain(){PointA(5,10);Point*ptr;ptr=&A;cout<<"x:="<<ptr->getx()<<endl;}指向对象成员指向非静态公有成员指向静态成员举例:inttest::a=100;//静态成员初始化voidmain(){int*pt_a=&test::a;//指向静态数据成员,普通指针格式inttest::*pt_b=&test::b;//指向非静态数据成员,通过类指针格式void(*pt_out_st)()=test::out_st;//普通函数指针、静态函数成员void(test::*pt_out)()=test::out;//类指针格式、非静态函数成员testt,t2;//定义对象t.b=8888;t2.b=7777;cout<<"thestatict.ais:"<<*pt_a<<endl;cout<<"thecommt.bis:"<<t.*pt_b<<endl;cout<<"thecommt2.bis:"<<t2.*pt_b<<endl;cout<<"outputbycommfuncpt:";(t.*pt_out)();cout<<"outputbystfuncpt:“;pt_out_st();}//补充说明,后例子:主要介绍->*运算符的用法#include<iostream.h>classpoint{public:point(intx,inty){this->x=x;this->y=y;}intgetx(){returnx;}staticintsta;staticintst_prt(){returnsta;}intx,y;};intpoint::sta=100;voidmain(){pointA(4,5);//定义对象point*pp=&A;//定义对象指针intpoint::*ppm=&point::x;//定义指向对象非静态数据成员的指针int(point::*ppf)()=&point::getx;//定义指向非静态函数成员的指针int*ppst=&point::sta;//定义指向对象静态数据成员的指针int(*ppfst)()=&point::st_prt;//定义指向对象静态函数成员的指针cout<<A.*ppm<<endl;//调用指向对象非静态数据成员的指针;cout<<(A.*ppf)()<<endl;//调用指向对象非静态函数成员的指针;cout<<pp->*ppm<<endl;//通过指向对象成员的指针调用指向对象非静态数据成员的指针cout<<(pp->*ppf)()<<endl;//通过指向对象成员指针调用指向对象非静态函数成员的指针cout<<*ppst<<endl;//可以通过指针直接访问类的静态数据成员(*ppfst)();////可以通过指针直接访问类