c++
c++各种细节与编程
小虫v
这个作者很懒,什么都没留下…
展开
-
2021-05-12
在除法运算中,如果除数等于0就会导致程序崩溃。原创 2021-05-15 18:07:11 · 50 阅读 · 0 评论 -
2021-05-09
struct类 类数据成员 类体定义类的成员,我们的类只有数据成员(data member)。类的数据成员定义了类的对象的具体内容,每个对象有自己的一份数据成员拷贝。修改一个对象的数据成员,不会影响其他Sales_data对象。 C++11新标准规定,可以为数据成员提供一个类内初始值(in-class initializer)。创建对象时,类内初始值将用于初始化数据成员。没有初始值的成员将被默认初始化 编写自己的头文件 为了确保各个文件中类的定义一致,类通常被定义在头文件中,而且类所在头文件的名字原创 2021-05-15 13:52:23 · 62 阅读 · 0 评论 -
友元
友元是为了兼顾C语言程序设计的习惯与C++信息隐藏的特点,而特意增加的功能。 友元机制是对一些类外的函数打开一个特殊通道,授权他们能够访问本类的私有成员变量。 友元破坏了类的封装性和隐藏性,但有助于数据共享,能够提高程序的运行效率。 友元的机制包括友元函数和友元类。 友元函数 在定义一个类的时候,可以把一些函数(包括全局函数和其他类的成员函数)声明为“友元”,这样那些函数就成为本类的友元函数。 在类定义中声明友元函数形式: friend 函数类型 函数名(参数列表);//针对全局函数 friend 函数原创 2021-05-08 20:43:50 · 221 阅读 · 0 评论 -
构造函数
构造函数在类体里的声明形式: 类名(形参一,形参二,…);//也可以没有形参 构造函数的定义形式: 假设数据成员为x1,x2,…x,类外定义构造函数时通常有3种形式: 1、类名::类名(形参1,形参2,…):x1(形参1),x2(形参2),…{ } 2、类名::类名(形参1.形参2,…){ x1=形参1; x2=形参2;…} 3、类名::类名()//成员变量所赋的初值都是固定的 { x1=初始化表达式; x2=初始化表达式; … } 说明: 1、构造函数的名字必须和类名相同; 2、在定义构造函原创 2021-05-08 15:02:26 · 4817 阅读 · 0 评论 -
c++内联函数
调用函数,需要进入其内部,如果函数是一个实现非常简单的功能的函数,那么花费在函数调用,进入内部一系列处理以及返回结果的时间比起实现的功能来说,时间开销非常大。 这时可以采用宏的方式 不过宏不进行类型检查,且有BUG。++x后,x为5,我们想要返回的结果应该是5才对,可是它返回6。这是因为宏是在编译阶段把宏定义的跟使用宏的地方进行替换。相当于以下方式。 其实++n是实现两次,所以返回6. c++提供一种内联函数,在函数前加inline。它只是一种建议,编译器自己决定听不听取建议。这种内联函数是在编译阶段,把.原创 2021-04-26 12:08:34 · 41 阅读 · 0 评论 -
c++的默认参数
在编写程序时,当代码的参数太多,而且后面的参数不需使用时,可以这样做 利用并且设计宏定义来做函数的参数,而宏带给我们有缺点,即它不会进行类型检查。 c++提供一种给参数提供默认参数,即在不写其参数时,参数就会取事先写好的默认参数。 但在进行书写默认参数时,注意:第一个默认参数后的所有函数都应该为默认参数。 默认参可以写在声明或定义处,但不能出现同时出现在定义和声明中。一般写在声明处,声明处是可以暴露给外人观看使用的。 ...原创 2021-04-26 11:09:16 · 258 阅读 · 0 评论 -
c++40个基本特性-bool
bool 在C语言中是没有布尔类型的,在C语言中0代表假,非0代表真。(.c文件下) 在C++中有增加布尔类型,false代表假,true代表真。(.cpp文件下),并且它所占用的大小为一个字节。原创 2021-04-24 13:56:49 · 95 阅读 · 0 评论