当前位置: 首页 > news >正文

网站建设相对应的税收分类是网站 微信开发

网站建设相对应的税收分类是,网站 微信开发,洛阳百姓网,广州seo效果C面向对象程序设计-北京大学-郭炜【课程笔记#xff08;二#xff09;】 1、结构化程序设计结构化程序设计的不足 2、面向对象的程序设计2.1、面向对象的程序设计2.2、从客观事物抽象出类2.3、对象的内存分配2.4、对象之间的运算2.5、使用类的成员变量和成员函数用法1#x… C面向对象程序设计-北京大学-郭炜【课程笔记二】 1、结构化程序设计结构化程序设计的不足 2、面向对象的程序设计2.1、面向对象的程序设计2.2、从客观事物抽象出类2.3、对象的内存分配2.4、对象之间的运算2.5、使用类的成员变量和成员函数用法1对象名.成员名用法2指针-成员名用法3引用.成员名 2.6、类成员的可访问范围2.6.1、代码实例2.6.2、private的意义隐藏的作用2.6.3、成员函数的重载及参数缺省 课程链接程序设计与算法三C面向对象程序设计 北京大学 郭炜 课程PPTgithub提供的对应课程PPT 1、结构化程序设计 C语言使用结构化程序设计 程序 数据结构 算法 程序由全局变量以及众多相互调用的函数组成。算法以函数的形式实现用于对数据结构进行操作。 结构化程序设计的不足 结构化程序设计中函数和其所操作的数据结构没有直观的联系。随着程序规模的增加程序逐渐难以理解很难一下子看出来 某个函数结构到底有哪些函数可以对他进行操作 某个函数到底是用来操作哪些数据结构的 任何两个函数之间存在怎样的低哦啊用关系 结构化程序设计没有“封装”和“隐藏”的概念。要访问某个数据结构中的某个变量就可以直接访问那么当该变量的定义有改动的时候就要把所有访问该变量的语句找出来修改十分不利于程序的维护、扩充。 难以查错当某个数据结构的值不正确时难以找出到底是哪个函数导致的。 结构化程序设计中随着程序规模的扩大由于程序大量函数、变量之间的关系错综复杂要抽取这部分代码变得十分困难无法重用。 2、面向对象的程序设计 面向对象的程序设方法能够较好的解决上述结构化程序设计的不足。 面向对象的程序 类 类 ···· 类设计程序的过程就是设计类的过程。 2.1、面向对象的程序设计 面向对象的程序设计方法 将某类客观事物共同特点属性归纳出来形成一个数据结构可以用多个变量描述事物的属性将这类事物所能进行的行为也归纳出来形成一个个函数这些函数可以用来操作数据结构这一步叫“抽象”。 然后通过某种语法形式将数据结构和操作该数据结构的函数“捆绑”在一起形成一个“类”从而使得数据结构和操作该数据结构的算法呈现出显而易见的紧密关系这就是“封装”。 面向对象的程序设计具有“抽象”“封装”“继承”“多态”四个基本特点。 面向对象的程序模式如下图所示 2.2、从客观事物抽象出类 将长、宽变量和设置长、宽求面积以及求周长的三个函数“封装”在一起就能形成一个‘矩形类’。长、宽变量成为该“矩形类”的“成员变量”三个函数成为该类的“成员函数”。成员变量和成员函数统称为类的成员。 代码 #include iostream class CRectangle {public:int w, h; // 成员变量// 三个成员函数int Area() {return w * h;}int Perimeter() {return 2 * (w h);}void Init(int w_, int h_) {w w_; h h_;} }; //必须有分号int main() {int w,h;CRectangle r; // r是一个对象std::cout 请输入w和hstd::endl;std::cin w h;r.Init(w, h);std::cout r.Area() std::endl r.Perimeter();return 0; }//OUT 请输入w和h 1 3 面积 3; 周长 8通过类可以定义变量。类定义出来的变量也称为类的实例就是我们所说的“对象”。 C中类的名字就是用户定义的类型的名字。可以像使用基本类型那样来使用它。CRectangle就是一种用户自定义的类型。 2.3、对象的内存分配 和结构变量一样对象所占用的内存空间的大小等于所有成员变量的大小之和。对于上面的CRectangle类sizeof(CRectangle) 8 成员函数会占用存储空间但是一个类的成员函数在内存中只有一份他被所有对象所共享成员函数不会放入到对象里面。(对象只包含成员变量不包含成员函数。) 每个对象各有自己的存储空间。一个对象的某个成员变量被改变了不会ing下昂另一个对象。 2.4、对象之间的运算 和结构变量一样对象之间可以用 “” 进行赋值但是不能用“”“”“”““”“进行比较除非这些运算符经过了“重载”。 2.5、使用类的成员变量和成员函数 用法1对象名.成员名 CRectangle r1, r2; r1.w 5; r2.Init(5, 4);Init函数作用在r2上即Init函数执行期间访问的w和h是属于r2这个对象的执行r2.Init不会影响到r1。 用法2指针-成员名 CRectangle r1,r2; CRectangle * p1 r1; CRectangle * p2 r2; p1-w 5; p2-Init(5,4); //Init作用在p2指向的对象上用法3引用.成员名 CRectangle r2; CRectangle rr r2; rr.w 5; rr.Init(5,4); // rr的值变了r2的值也会随着改变void PrintRectangle(CRectangle r) {cout r.Area() , r.Perimeter(); } CRectangle r3; r3.Init(5,4); printRectangle(r3);2.6、类成员的可访问范围 2.6.1、代码实例 #include iostream #include stdio.h // #include string.hclass CEmployee { private:char szName[30]; //名字public :int salary; //工资void setName(char * name); void getName(char * name);void averageSalary(CEmployee e1,CEmployee e2); };void CEmployee::setName( char * name) {strcpy(szName, name); //ok } void CEmployee::getName( char * name) {strcpy(name, szName); //ok } void CEmployee::averageSalary(CEmployee e1,CEmployee e2){salary (e1.salary e2.salary )/2; }int main(){CEmployee e;// strcpy(e.szName,Tom1234567889); //编译错, 不能访问私有成员e.setName(Tom); // oke.salary 5000; //okreturn 0; }知识点扩充C语言中字符串之间的比较【char*】/【string】 2.6.2、private的意义隐藏的作用 设置私有成员的机制叫“隐藏”。“隐藏”的目的是强制对成员变量的访问一定要通过成员函数进行那么以后成员变量的类型等属性修改后字需要更改成员函数即可。否则所有直接访问成员变量的语句都需要修改。如果上面的程序移植到内存空间紧张的手持设备上希望将szName改为char szName[5]若szName不是私有那么就要找出所有类似strcpy(e.szName, Tom1234567889);这样的语句进行修改以防止数组越界。这样做很麻烦。如果将szName变为私有那么程序中就不可能出现除非在类的内部strcpy(e.szName, Tom1234567889);这样的语句所有对szName的访问都是通过成员函数来进行比如e.setName(Tom); 那么就算szName改短了上面的语句也不需要找出来修改只要改setName成员函数在里面确保不越界就可以了。 2.6.3、成员函数的重载及参数缺省 成员函数也可以重载成员函数可以带缺省参数案例如下 #include iostreamclass Location {private:int x, y;public:void init(int x 0, int y 0);// 两个valueX是函数重载关系void valueX(int val) { x val; }int valueX() { return x; } };int main() {Location A, B;A.init(5);A.valueX(6);std::cout A.valueX() ;return 0; }void Location::init(int x, int y) {x x;y y; }// OUT 6注意使用缺省参数需要注意避免有函数重载时的二义性 class Location {private:int x, y;public:void init(int x 0, int y 0);两个valueX是函数重载关系(这里存在二义性)void valueX(int val 0) { x val; }int valueX() { return x; } };int main() {Location A;A.valueX(); Error,编译起无法判断调用哪个valueXreturn 0; }
http://www.pierceye.com/news/367425/

相关文章:

  • 域名的正确书写格式自动seo优化
  • 怎样在网站做友情链接网页什么设计
  • 做seo网站营销推广南宁建设职业技术学院招聘信息网站
  • 网站建设全网推广小程序手机网站怎么优化
  • wordpress 网站logowin系统没有wordpress
  • 玉山电商网站建设东莞市建设规划局网站
  • 网站建设运营公司企业特色c2c的代表性的电商平台
  • 上海网站建设,分类广告软件公司简介
  • 网站虚拟主机被国家禁止访问的网站怎么打开
  • wordpress手机加载不出来优化官网咨询
  • 平台网站建设预算表如何来做网站
  • 温州网站制作企业东莞网络推广公司电话
  • 网站建设的条件重庆那些网站
  • 伊犁网站制作大连甘井子区房价
  • 循环视频做网站背景win2012r2 建设网站
  • 建设网站制作汉狮团队义乌北苑编程网站开发公司
  • 网站开发公司会计处理滨州市住房和城乡建设局网站
  • 企业网站站内优化长尾关键词挖掘站长工具
  • 山东平台网站建设企业怎么做自己的品牌网站
  • 长沙seo网站排名杭州网站建设q479185700棒
  • 泰州网站建设搭建工程造价网
  • 网站流程优化c2c模式举例子
  • 帝国网站调用图片集网店平台有哪些
  • 做flash音乐网站的开题报告删除wordpress左上角
  • php网站开发学什么衡水大型网站建设
  • 广州网站开发软件平台wordpress 问号
  • 西安市建设干部学校网站厦门网站优化服务
  • 深圳市南山区住房和建设局官方网站如何把html网站改为asp网站
  • 网站建设有什么技术做dw网站图片怎么下载地址
  • 初中生如何做网站潍坊网站开发