C++ prime plus 学习笔记
文章平均质量分 87
c++学习过程的知识记录
console
写笔记
展开
-
C++智能指针
智能指针是行为类似于指针的类对象,但是这种对象还有其他的功能,那么我们为什么要使用智能指针呢?我们可以通过一个例子来看看。原创 2024-04-24 10:04:48 · 559 阅读 · 0 评论 -
C++异常
程序有时候会在运行阶段出现错误,导致程序无法正常继续运行下去,例如,程序会试图打开应该不可用的文件,请求过大的内存等等,通常,我们都需要预防这种情况的发生,C++异常为处理这种情况提供了一种功能强大且灵活的工具,异常是相对较新的C++功能,可能有些老的编译器会不支持这种功能我们通过一个例子来看看一些不使用异常的方法,例如我们编写一个计算两个数的调和平均数,两个数的调和平均数是两个数倒数的平均值的倒数,因此表达式为2.0 * x*y / (x + y),因此。原创 2024-04-23 08:54:16 · 1053 阅读 · 0 评论 -
C++友元类
假设我们技术的进步,不光能通过遥控器控制电视机,电视机也是反馈信息给我们的遥控器,让它们成为一种交互式的器件,这样我们就可以通过C++的编程,也就是可以通过让类彼此成为对方的友元来实现这个功能,即不光Remote是Tv类的友元,Tv类也是Remote类的友元,对于这样的情况,我们需要使用Remote对象的Tv方法,就需要将Tv类的原型放在Remote类的声明之前,并且将Tv类的定义放在Remote类声明之后,让编译器能够有足够的信息去编译这个方法,即如下所示。成功的修改了电视机类的私有成员。原创 2024-04-22 14:31:54 · 1013 阅读 · 0 评论 -
C++代码重用
我们通过一个例子来看看这个如何在一个类中包含其他对象成员的类,我们要定义一个学生的类,包含学生的姓名和学生的考试成绩,我们可以使用一个包含两个成员的类来表示它,一个是学生的姓名,另一个就是学生成绩,对于学生的姓名,我们可以使用字符数组,但是这样会限制长度,我们也可以进行动态内存分配,但是这样需要编写更多的代码来支持,我们还可以使用一个开发好的类的对象来表示,例如string类的对象,对于学生分数,也可以使用数组或者动态内存分配,还可以使用标准C++库中查找一个能够表示数据的类C++标准就提供了这样的一个类,原创 2024-04-20 15:46:05 · 1339 阅读 · 0 评论 -
C++类继承
类继承的使用原因:C++是面向对象的语言,而面向对象编程的主要目的之一就是提供可以重用的代码,当我们开发新的项目时,尤其是大型项目,我们重新使用已经测试过的代码比我们重新编写代码要好的多,虽然厂商给我们提供了很多的库函数,但是这也有局限性,除非厂商给我们提供库函数的源代码,否则我们无法根据自己的需求对函数进行扩展或修改,计算厂商给我们提供了源代码,我们也不建议这样去做,因为这样修改会有一定的风险,例如不经意修改函数的工作方式或者改变了库函数之间的关系,因此C++提供了更高层次的重用性。原创 2024-04-18 19:08:56 · 1593 阅读 · 0 评论 -
C++类和动态内存分配
C++能够在程序运行时决定内存的分配,而不是只在编译阶段,因此,就可以根据程序的需要,而不是根据一系列严格的存储类型规则来使用内存,C++使用new和delete运算符来动态控制内存,但是,在类中使用这些运算符会导致许多新的问题,在这种情况下,析构函数就是必不可少的,下面我们通过一个小程序来看一看这些问题,这个程序是在类中使用new和delete来存储释放字符串我们将函数声明写在一个头文件,即stringbad.h在头文件里定义了一个类,名为Stringbad。原创 2024-04-15 18:39:52 · 2647 阅读 · 0 评论 -
C++使用类
C++控制对于类对象私有部分的访问,通常,公有类方法提供是唯一的访问途径,但是有时候这种限制太过严格,以至不适用于某些编程问题,在这种特定的情况下,C++提供了另外一种形式的访问权限——友元,友元有三种友元函数友元类友元成员函数通过让函数成为类的友元,可以赋予该函数与类成员函数相同的访问权限,即可以访问到类的私有部分的成员C++为下面的类提供了类型转换1.只有一个参数的类构造函数将会用于将类型与参数相同的值转换为类类型。原创 2024-04-13 10:00:19 · 1002 阅读 · 0 评论 -
C++类和对象
一般来说,类由两个部分组成类声明:以数据成员的方式描述数据部分,以成员函数(方法)的方式描述公有接口class 类的名字//私有部分private:成员定义;//公有部分public:成员定义;类方法定义:描述如何实现类成员函数即类的声明提供了类的蓝图,而类方法定义提供了细节,类似于函数声明和定义通常,C++程序员会将类定义(接口)放在头文件中,将实现类方法的代码放在源文件中,例如,在头文件中对类进行声明Stock类这里将类定义在头文件中stock00.h中//定义一个类。原创 2024-04-11 11:52:10 · 1478 阅读 · 0 评论 -
C++指针
计算机在存储数据时,必须要知道的三个属性信息存储在什么地方存储的值是多少存储的值是什么类型的我们之前使用用定义变量的方式来达到以上的目的在这里,声明语句指出了值的类型为int类型,符号名为a,值的大小为10,并且我们让程序为值分配了内存,并在内部跟踪该内存单元下面我们来看看通过指针来实现这个目的。原创 2024-04-05 15:51:28 · 2709 阅读 · 0 评论 -
C++函数模版
函数模版是通用的函数描述,也就是说,它们使用泛型来定义函数,其中的泛型可以用具体的类型来进行代替,通过该类型作为参数传递给该模版,可以使编译器生成该类型的函数例如:有一个交换两个int类型的函数,假如要更改为交换两个double类型的函数,一种方法是复制原来的代码,并且都double替换掉所有的int,但是这种修改会浪费时间,并且容易出错,但C++的函数模版功能能够自动完成这个过程函数模版的定义例子函数体;原创 2024-04-02 17:47:41 · 698 阅读 · 0 评论 -
C++函数重载
1.如果我们只定义了一个函数,当我们调用函数给的的参数与函数原型定义的参数不匹配时,编译器会根据标准进行类型转换,但是,如果我们使用了函数重载,定义了多个函数,其中不止一个原型能让我们发生强制类型转换进行匹配,这是编译器就不会进行匹配,例如。C++的函数重载(函数多态)是指同一个函数的不同表现形式,函数允许有多种形式存在,即函数名称相同,但是函数的参数列表不同。如果两个函数的参数数目和类型相同,同时参数的排列顺序也相同,则他们的特征标相同,而变量名是无关紧要的。C++也不允许这种形式的函数重载。原创 2024-04-02 13:51:40 · 212 阅读 · 0 评论 -
C++引用变量
C++新增了一种数据类型,即引用变量引用是已定义的变量的别名(另外的一个名称),例如将变量b作为变量a的引用,那么就可以交替使用a和b来使用该变量引用变量的主要用途是用作函数的形参,通过将引用变量作为参数,函数将会使用原始的数据,而不是使用其副本,这样除了指针之外,引用也为函数处理大型的结构提供了一种非常方便的途径。原创 2024-03-31 11:15:26 · 707 阅读 · 0 评论 -
C++内联函数
内联函数的编译代码与其他的函数内联起来,即编译器将使用相应的函数代码替代函数的调用,对于内联代码,函数无需跳转到另一个位置处执行代码,再跳转回来,因此,内联函数的运行速度会比常规函数稍快,但会占用更大的内存。,则使用内联函数调用就可以节省非内联调用使用的大部分时间,另外,由于这个过程很快,因此尽管节省了这个过程的大部分时间,但节省的时间的绝对值不大。因此,我们需要有选择的使用内联函数,如果执行代码的时间比处理函数调用机制的时间长,则节省的时间将只占整个过程的很小一个部分,在函数定义前加上inline。原创 2024-03-31 09:30:59 · 377 阅读 · 0 评论