欢迎来到天天文库
浏览记录
ID:47018149
大小:221.38 KB
页数:21页
时间:2019-06-03
《C++笔记--类与对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、C++21、C++的头文件22、命名空间23、更严格的类型转化24、new和delete25、内联函数26、引用27、函数的重载38、函数模板(后面还会讲class模板)3二、类和对象41、C++类成员的保护42、C++类的本质43、类的作用域44、类的构造和析构函数45、构造函数的初始化成员列表56、拷贝构造函数57、常量类成员,常量对象。58、explicit69、this指针610、类的static成员变量6三、C++封装与移植训练71、UDP协议72、C和C++混合编程(在C++中调用自己的c函数)83、makefile9四、拷贝构造复习111、拷贝构造函数:112、以下情
2、况都会调用拷贝构造函数:113、传参:11五、友元机制121、友元定义:122、友元函数123、友元类124、注意:125、12六、操作符重载131、重载定义:132、不能重载的操作符:133、重载规则134、成员函数的语法形式为:135、几种情况(具体看overload.cpp)136、二元与一元重载13七、QT的基本使用14一、C++1、C++的头文件①.传统的C头文件,Eg:②.C++头文件Eg:③.hpp文件件Eg:2、命名空间①.C++引入了新的概念,命名空间可以有效避免大型项目中的各种名称冲突②.class关键字③
3、.class是C++的核心,是面向对象编程的核心内容3、更严格的类型转化①.在C++,不同类型的指针是不能直接赋值的,必须强转Eg:void*p;int*a=(void*)p;(这是C语言风格的类型强制转换)4、new和delete①.new和delete是C++内建的操作符,不需要有任何头文件,用new分配的内存必须用delete释放,不要用free。②.new创建数组的方法new[];5、内联函数①.inline关键字的意思是,内联函数不作为函数调用,而是直接把内联函数的代码嵌入到调用的语句中②.内联函数适合函数代码很少,并且频繁的大量调用。6、引用①.引用就是一个变量的别名,而不
4、是地址②.引用必须在定义的时候就被赋值,(在真实的变量没出来之前怎么会有别名呢)Eg:inta=2;Int&b=a;(这样可以)/******************/Int&b;Inta=2;b=a;(这样不行)③.函数的缺省参数(必须放在后面)Eg:voidmyFunction(inta,intb,intc=2);(可以)VoidmyFunction(inta=2,intb,intc);(不可以)④.C++允许函数在定义的时候,提供缺省参数,如果调用函数的时候没有提供形参,那么形参的值就是缺省值⑤.引用做为函数的参数,没有出栈,入栈操作,所以效率更高⑥.如果要使引用参数的值不能在函
5、数内部被修改,那么就定义为常量引用const&2、函数的重载①.函数的名称是一样的,但参数不同可以重载②.函数参数相同,③.注意:当函数的缺省参数缺省后系统不知道调用哪个函数时,是不允许的。2、函数模板(后面还会讲class模板)①.模板的形式:Template通用函数定义或是:Template通用函数定义Eg:TemplateTmax(Ta,Tb){returna*b;}一、类和对象1、C++类成员的保护①.如果类函数返回的是成员变量的指针,为了避免在类外部成员变量被修改,所以函数就要返回常量指针Eg:constchar*mych
6、en(){Return“hello”;}Main(){Char*p=(char*)mychen();P=“work”;(这通过强转是可以改的)}②.如果一个类成员变量和一个全局变量重名,那么在类成员函数当中默认访问的是类的成员变量.③.在类的内部访问全局标识,关键字::注意:这是在类的外部定义了全局函数或是全局变量,在类的内部采用这种::表示方式。Eg:intage=2;Classa{Public:VoidgetAge(){::age=55;(这就是在类的内部访问全局变量)}}2、C++类的本质①.类其实就是结构的数据成员加可执行代码,统一提供封装,继承,多态。②.在类内部,没有权限限
7、定符,默认是private③.在结构内部,没有权限限定符,默认是public3、类的作用域①.类成成员变量作用域局限于类内部,类的外部是不可见。2、类的构造和析构函数①.构造函数名称和类的名称一致,而且没有返回值②.一个类实例化为一个对象的时候,自动调用。classChen{private:public:Chen();(构造函数)~Chen();(析构函数,构造函数前面加了~)}③.一个对象在销毁的时候会自动调用析构函数。④.默认有构造和析构函
此文档下载收益归作者所有