第8讲子对象共用数据的保护.pptVIP

  • 1
  • 0
  • 约1.02万字
  • 约 54页
  • 2019-09-29 发布于湖北
  • 举报
复习运算符 new、delete 复习运算符 new、delete 例如:冒泡法排序 #include iostream.h class Paixu { public: Paixu(); Paixu(int n); void shuru(); void maopao(); void disp(); ~Paixu(); private: int numb; float *p; }; void Paixu::shuru() { if(numb==0 p==NULL) { cout请输入数组元素的个数:; cinnumb; p=new float[numb]; } for(int i=0;inumb;i++) cinp[i]; } void Paixu::maopao() {int i,j; float t; for(i=0;inumb-1;i++) for(j=0;j(numb-1)-i;j++) if(p[j]p[j+1]) {t=p[j];p[j]=p[j+1];p[j+1]=t;} } void Paixu::disp() {int i; for(i=0;inumb;i++) coutp[i] ; coutendl; } int main() { Paixu shuzu; shuzu.shuru(); shuzu.maopao(); shuzu.disp(); return 0; } 复习数据类型 数据类型 ——布尔型数据 布尔型变量的说明: 例:bool flag; 布尔型数据的取值: 只有 false 和 true 两个值 bool型数据占据1字节内存。 string是一种自定义的类型,可以方便地执行C-串所不能直接执行的一切操作。它处理空间占用问题是自动的,需要多少,用多少。 再强调定义类时的注意事项 class Node { public: Student stud; //节点数据信息(INFO) string sName; //节点标示名称 Node *NEXT; //指向下一节点的节点指针(NEXT) Node(string sName,Node *NEXT=NULL):stud(sName) { this-sName=sName; this-NEXT=NEXT; } Node(string sName,string sAddree,string sPhone,string sMobile, string sEmail):stud(sName,sAddree,sPhone,sMobile,sEmail) { //空语句体,用来从文件读数据信息 } }; class List //定义一个List类 { private: Node* Start; //表头指针,固定在表头 Node* Curr; //当前遍历位置指针 Node* Prev; //当前位置的前节点指针 Node* End; //表尾指针,固定在表尾 int iPosition; //当前节点在表中的位置序号 public: List() //构造函数 { Start=Curr=Prev=End=NULL; iPosition=1; }  一、子对象  子对象(续) 例:分析下列程序的输出结果。  子对象(续)  子对象(续) 例:分析下列程序的输出结果。  子对象(续)  子对象(续)  子对象(续)  子对象(续)  子对象(续)  子对象(续)  子对象(续) 例:分析下列程序的输出结果。 输 出 2、常成员函数  常成员函数(续) 例:分析下列程序是否正确。  常成员函数(续)  常成员函数(续) 例:分析下列程序的输出结果。  常成员函数(续) 输 出  三、常指针和常引用 1、常指针 例:分析下列程序的输出结果。 数据的单向传递-----常引用作函数形参 通过使用常引用作为函数形参,对实参数据进行保护。 #include iostream.h void fun(int x,int y,const int z) { x+=z;y+=z; cout“x=“x“,y=“y“,z=“zendl;} int main() { int a=20,b=30,c=40; cout“a=“a“,b=“b“,c=“cendl; fun(a,b,c); cout“a=“a“,b=“b“,c=“cendl; fun(2*a-3,b,c); cou

文档评论(0)

1亿VIP精品文档

相关文档