- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++基础概念笔记
最近看到自己之前刚开始学习的时候记的一些笔记就稍微整理了一下
c语言里的结构体和C++里的结构体有什么区别?
答:c语言里的结构体不能定义函数,但是C++里的结构体可以定义函数
1. C的结构体和C++结构体的区别
(1) C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。
(2) C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三种。
(3) C语言的结构体是不可以继承的,C++的结构体是可以从其他的结构体或者类继承过来的。
2. C++的结构体和C++类的区别
(1) C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。
(2) C++结构体的继承默认是public,而C++类的继承默认是private。
第一章类和对象
类是对象的类型,对象是类的实例。
成员变量:用来区分同一个类不同的对象。
静态成员:描述整个类的特征,如果static修饰函数,那么内部成员都可以调用其函数,如果static修饰类,那么每个声明的类都可以用,在c++中static是公用的。
非静态成员变量:描述不同对象的特征。
成员变量可以是各种类型的,比如;简单类型,指针,引用,复合类型,其他。
常量成员:必须在创建一个成员时进行初始化,初始化后不可修改。
成员函数:用来操作一个类的对象的函数。
静态成员函数:属于整个类的成员函数。
重*
*把类的数据成员对外隐藏,使之从外部不可见,称谓信息隐蔽。
*成员函数是给外部的访问接口。
*如果成员变量为私有(private),成员函数为公有(public),外部只能通过公有的成员函数来访问成员变量,把对象的私有数据保护起来,这种方式叫封装。
构造函数:用于创建生成一个对象,在没有写构造函数时,系统会提供默认的,还可以对数据成员的进行初始化,函数名和类名一样,没有返回值,不能为私有的,一旦为私有就不能对外,只能对内,就没有意义了。
构造函数调用时机:在创建对象时就会被调用,根据对象是否传参。
析构函数:用于销毁一个对象。
调用时机:不需要一个对象,释放对象时调用。
get函数:用于获取成员变量的值,可直接访问,访问函数。
set函数:用于修改成员变量的值,设置函数。
math.h数据函数文件。
usingnamespacestu;
cout…;
distance距离:实现距离的计算。
powfloat类型计算第一个系数指数的值powdoubtle类型
sqrtfloat类型计算平方根的函数sqrtfdouble类型
类名::成员函数名
::作用域,全局作用域运算符,双目,自左向右只使用于当前的类。
**当我们的类当中有写构造函数,系统就不会在提供构造函数。
—般建议写带参的构造函数不建议多写。
默认构造函数;
*不是说构造函数没有参数,而是调用时可以不传参数。
*—个类可以有多个重载的构造函数,靠不同的参数列表来区分,
*类定义中,一定有一个且只有一个默认函数,
创建对象时不需要向构造函数传递参数,有两种情况?
1、构造函数本身无参数
2、构造函数有参数,但参数都有默认值,(好处可以让工程师在创建对象时有多个选择)
分类:带参数的并有初始值的构造函数,不带参数的默认构造函数
类中构造函数的使用特点?
1、类中无任何构造函数时,类外声明函数时,编译器就会提供默认构造函数(声明对象不能带参数;thingt;)。
2、如果类中有构造函数,编译器就不会提供默认构造函数,此时,类外声明对象,必须与类内的构造函数相匹配。
3、类中最多只能定义一个默认函数,但可以定义多个其他带参的构造函数;
4、一般情况下常规写法:建议程序猿能够自定义带参的默认构造函数(可以替代任何一个构造函数)。
宗旨:在类当中声明对象时,这个对象一定会在类中寻找和匹配声明的格式的构造函数。**//
内联函数:
inlinefunctions
原理:用被调函数的函数体代码,替换掉函数调用语句,替换在编译期间发生。
优点:避免函数调用上的时间开销,提高程序的运行效率。
缺点:增加了程序在内存上的空间开销,消耗内存。
内联函数要尽量简单,代码短小。
inlineintfunc(inta,intb)
{
returna+b;
}
**如果代码又可移植的需求,不要使用内联函数,可用宏定义代替。
函数重载:
functionoverloading
概念:两个函数名字相同,参数不同(包括参数个数不同或参数类型不同)即为函数重载。
1、不同的参数列表,调用重载函数是,编译器会根据实参的类型找到形参类型与之匹配的那个版本的函
文档评论(0)