《计算机网络原理》第2章从结构到类的演变-精选课件_第1页
《计算机网络原理》第2章从结构到类的演变-精选课件_第2页
《计算机网络原理》第2章从结构到类的演变-精选课件_第3页
《计算机网络原理》第2章从结构到类的演变-精选课件_第4页
《计算机网络原理》第2章从结构到类的演变-精选课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第2章从结构到类的演变2.1结构的演化2.1.1结构发生质的演变1.函数与数据共存C++允许结构中定义函数,成为成员函数在结构中同时定义成员变量与成员函数使用格式:结构对象.结构对象.2第2章从结构到类的演变1.函数与数据共存—结构的定义structpoint{doublex,y;voidSetxy(doublea,doubleb){x=a;y=b;}voidDisplay(){cout<<x<<"\t"<<y<<endl;}};3第2章从结构到类的演变1.函数与数据共存—结构的定义structpoint{doublex,y;voidSetxy(doublea,doubleb){x=a;y=b;}voidDisplay(){cout<<x<<"\t"<<y<<endl;}};数据成员成员函数4第2章从结构到类的演变1.函数与数据共存—结构的定义5第2章从结构到类的演变主函数6完整程序7第2章从结构到类的演变运行结果8修改后的程序9第2章从结构到类的演变2封装若定义结构体时,使用了private关键字,则产生封装性10使用了private关键字,则产生封装性11第2章从结构到类的演变2封装在定义结构时,若使用了private则产生封装性,表示成员为私有的,只能在结构体内部通过公有成员函数使用。若未添加private则表示默认为public。类定义时默认为private。12第2章从结构到类的演变2.1.2使用构造函数初始化结构的对象在定义结构时,与结构同名的函数称为构造函数。若定义的函数与某个已定义函数重名而参数类型或个数不同,则称为函数重载。132.1.2使用构造函数初始化结构的对象问题:那个函数是构造函数?那个函数被重载了?结构体的定义142.1.2使用构造函数初始化结构的对象注:构造函数在定义结构体对象时自动执行,并根据是否初始化来自动选择所调用的构造函数152.1.2使用构造函数初始化结构的对象调用无参构造函数调用有参构造函数为xy设置值显示p1,p2的xy值162.1.2使用构造函数初始化结构的对象17第2章从结构到类的演变2.2从结构演化成一个简单的类将程序中struct替换为class即变为类的标准定义形式18第2章从结构到类的演变2.2从结构演化成一个简单的类产生类对象p1,p2为对象的属性赋值显示对象属性值19第2章从结构到类的演变2.2从结构演化成一个简单的类类图的表示类名类属性/成员变量类操作/成员函数20第2章从结构到类的演变2.3面向过程和面向对象简单了解对象的含义21第2章从结构到类的演变2.3面向过程和面向对象简单了解对象的含义22第2章从结构到类的演变2.3面向过程和面向对象简单了解对象的含义23第2章从结构到类的演变面向过程的求解步骤给出三角形三个顶点坐标,计算三边长,并输出步骤:输入x1,y1,x2,y2,x3,y3六个数据计算(x1,y1)和(x2,y2)距离计算(x1,y1)和(x3,y3)距离计算(x2,y2)和(x3,y3)距离输出三个距离24第2章从结构到类的演变面向对象的求解步骤给出三角形三个顶点坐标,计算三边长,并输出设计类将点设计为一个类,并提供相关的属性和操作25第2章从结构到类的演变面向对象的求解步骤给出三角形三个顶点坐标,计算三边长,并输出定义对象同时给出坐标pointA(x1,y1)pointB(x2,y2)pointC(x3,y3)26第2章从结构到类的演变面向对象的求解步骤给出三角形三个顶点坐标,计算三边长,并输出定义对象,然后获取坐标pointA;pointB;pointC;A.Getx();A.Gety();B.Getx();B.Gety();C.Getx();C.Gety();27第2章从结构到类的演变面向对象的求解步骤给出三角形三个顶点坐标,计算三边长,并输出计算距离并输出AB=A.GetLength(B);AC=A.GetLength(C);BC=B.GetLength(C);28第2章从结构到类的演变2.4C++面向对象程序设计特点2.4.1对象三要素:对象名,属性,操作29第2章从结构到类的演变2.4C++面向对象程序设计特点2.4.1对象三要素:对象名,属性,操作30第2章从结构到类的演变2.5使用类和对象2.5.1使用string对象类名类的属性用于存放字符串类的操作/方法/成员函数31第2章从结构到类的演变2.5使用类和对象2.5.1使用string对象该类是C++语言中的内部预定义类,要在程序中使用该类时必须添加头文件#inculude<string>32第2章从结构到类的演变2.5使用类和对象2.5.1使用string对象类的初始化:stringstr1=“A”;

stringstr1=‘A’;

stringstr1=‘AB’;

stringstr1=“AB”;可以以数组的形式使用str1对象中的字符串str1[0]的值是???str1[1]的值是???332.5.1使用string对象类的初始化:stringstr1(“hello,”);

stringstr2=“world”;可以以数组的形式使用str1对象中的字符串str1[0]的值是???str2[0]的值是???342.5.1使用string对象352.5.1使用string对象运行结果362.5.1使用string对象string对象允许使用+运算372.5.1使用string对象对象的方法(操作/成员函数):对象名.成员函数str1.size()String对象可使用+运算Str1=str2+str3若str2=“hello,”

str3=“everyone”则str1的结果是???382.5.2使用string对象的成员函数成员函数使用格式:对象名.成员函数例如:str1.size()若Str1=“everyone!”Str1.size()值为:9392.5.2使用string对象的成员函数成员函数使用格式:对象名.成员函数例如:str1.substr()若Str1=“everyone”Str1.substr(5,3)值为:“one”C++中字符串中字符位置计数从0开始402.5.2使用string对象的成员函数成员函数使用格式:对象名.成员函数例如:str1.substr()C++中字符串中字符位置计数从0开始412.5.2使用string对象的成员函数成员函数使用格式:对象名.成员函数例如:str1.find(要查找的字符串,开始位置)结果为子串的位置C++中字符串中字符位置计数从0开始422.5.2使用string对象的成员函数getline函数的使用功能:利用cin函数输入一行字符串存入对象例如:getline(cin,str1,’\n’)432.5.2使用string对象的成员函数getline函数的使用功能:利用cin函数输入一行字符串存入对象例如:getline(cin,str1,’\n’)44简单应用:日期格式转换452.5.3使用complex对象complex类用于定义一个复数对象使用时添加头文件#include<complex>定义格式:complex<int>num1(1,2);462.5.4使用对象小结使用标准类库中的类时,须添加头文件。使用string对象添加???头文件?添加头文件#include<string>并使用标准命名空间usingnamespacestd;472.5.4使用对象小结使用标准类库中的类时,须添加头文件。定义对象方式同变量定义方式。定义对象时可对对象进行初始化。inti;stringstr1;定义时初始化:inti=1;或inti(1);stringstr1=“hello”;或stringstr1(“hello”);482.5.4使用对象小结使用标准类库中的类时,须添加头文件。定义对象方式同变量定义方式。同类的不同对象由对象名和属性来区分。具有相同的成员函数。stringstr1=“hello”;stringstr2(“everyone”);Cout<<str1.size()<<endl;Cout<<str2.size()<<endl;492.5.4使用对象小结不同类对象具有不同的成员函数可实现不同操作。Complexnum1(1,2);Stringstr1(“hello”);Cout<<num1.real()<<endl;Cout<<str1.size

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论