C++基础
文章平均质量分 71
c++知识点
轩辰~
这个作者很懒,什么都没留下…
展开
-
C++基础——类模板
主要描述的是模板,这个模板是类的模板。可以理解为一个通用的类,这个类中的数据成员,成员函数的形参类型以及成员函数的返回值类型不用具体的指定,这些类型都是虚拟的。在使用类模板进行对象定义的时候,才会根据对象的实际参数类型来替代类模板中的虚拟类型。主要描述的是类,这个类使用类模板进行声明。将类模板中的虚拟类型参数指定成一个具体的数据类型参数。类模板中的成员函数并不是一开始就创建的,在调用时才去创建。1. 指定传入的类型 --- 直接显示对象的数据类型。通过类模板创建的对象,可以有三种方式向函数中进行传参。原创 2024-05-28 13:37:19 · 370 阅读 · 0 评论 -
C++基础——函数模板
模板体现了泛型编程,泛型编程是编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。在学习泛型编程之前,我们回忆一下怎么实现两个整形,浮点型,字符型的数据交换。因此,C++为了更好的处理这种问题,达到泛型编程的目的,引入了一个概念---模板;原创 2024-05-21 18:15:00 · 1005 阅读 · 0 评论 -
C++基础——文件
文件这方面的知识点比较少,达到的效果是“会用就好”,没必要在文件方面下太大功夫。接下来我们介绍两类文件。原创 2024-05-21 08:00:00 · 327 阅读 · 0 评论 -
C++基础——多态(下)
答案:16bytes为什么会是16呢,指针是8bytes。一个含有虚函数的类中都至少都有一个虚函数表指针,因为虚函数的地址要被放到虚函数表中,虚函数表也简称虚表。那么派生类中这个表放了些什么呢?原创 2024-05-19 15:00:00 · 732 阅读 · 0 评论 -
C++基础——多态(上)
C++的多态必须满足两个条件:1 必须通过基类的指针或者引用调用虚函数2 被调用的函数是虚函数,且必须完成对基类虚函数的重写子类虚函数可以不写 virtual (实际中最好加上),但是父类虚函数必须写 virtual,才能满足虚函数重写;返回值可以不同,但必须是父子关系的指针或者引用 (在这里的父子没有限制,可以是其他的父子关系),这也称之为协变;class Person //成人public:cout << "全价票" << endl;//成人票全价。原创 2024-05-17 19:31:05 · 610 阅读 · 0 评论 -
C++基础——继承(下)
1.很多人说C++语法复杂,其实多继承就是一个体现。有了多继承,就存在菱形继承,有了菱形继承就有菱形虚拟继承,底层实现就很复杂。所以一般不建议设计出多继承,一定不要设计出菱形继承。否则在复杂度及性能上都有问题。2.多继承可以认为是C++的缺陷之一,很多后来的语言都没有多继承,如Java第一种方式C++98,将基类的构造私有化,派生类继承这个基类,在实例化对象时,需要调用基类的构造,但由于基类的构造已经私有化,故会编译报错。原创 2024-05-15 22:32:05 · 1020 阅读 · 0 评论 -
C++基础——继承(上)
基类 private 成员在派生类中无论以什么方式继承都是不可见的。这里的不可见指的是基类的私有成员虽然被继承到了派生类对象中,但是语法上限制了派生类对象访问它,无论是在派生类的类内还是类外,都无法访问;如果基类成员不想让派生类在类外访问,但需要让派生类类内可以访问,那么该基类成员就可以定义为 protected,可以看到,protected 在继承角度有着很大的存在意义;原创 2024-05-14 13:14:28 · 918 阅读 · 0 评论 -
C++基础——运算符重载
运算符重载实质还是一个。通过重载运算符,可以让类在一些场景下使用起来更加方便。原创 2024-05-12 15:39:23 · 266 阅读 · 0 评论 -
C++基础——友元
程序员可以把一个全局函数、某个类中的成员函数、甚至整个类声明为友元。友元语法:1.friend关键字只出现在声明处2.其他类、类成员函数、全局函数都可声明为友元3.友元函数不是类的成员,不带this指针4.友元函数可访问对象任意成员属性,包括私有属性。原创 2024-05-11 20:49:56 · 171 阅读 · 0 评论 -
C++基础——this指针
c++规定,this指针是隐含在对象成员函数内的一种指针。当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含指针this,用以保存这个对象的地址,也就是说虽然我们没有写上this指针,编译器在编译的时候也是会加上的。因此this也称为“指向本对象的指针”,this指针并不是对象的一部分,不会影响sizeof(对象)的结果。this指针是C++实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每一个对象都拥有自己的函数成员。指针是隐含每一个非静态成员函数内的一种指针。原创 2024-05-10 17:23:55 · 259 阅读 · 0 评论 -
C++基础——深拷贝和浅拷贝
C++中类的拷贝有两种:深拷贝,浅拷贝:当出现类的等号赋值时,即会调用拷贝函数。原创 2024-05-07 13:10:09 · 209 阅读 · 1 评论 -
C++基础——构造函数和析构函数
当我们创建对象的时候,这个对象应该有一个初始状态,当对象销毁之前应该销毁自己创建的一些数据。对象的初始化和清理也是两个非常重要的安全问题,一个对象或者变量没有初始时,对其使用后果是未知,同样的使用完一个变量,没有及时清理,也会造成一定的安全问题。c++为了给我们提供这种问题的解决方案,和,这两个函数将会被编译器自动调用,完成对象初始化和对象清理工作。原创 2024-05-06 17:24:36 · 171 阅读 · 0 评论 -
C++基础——命名空间
在一段C++代码中,我们会看到using namespace std;这一串代码,那么这一串代码表示什么?namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。原创 2024-05-05 19:27:31 · 236 阅读 · 0 评论 -
c++基础——函数高级
基本类型(int char double)和枚举类型一般用值传递结构体, 类的对象一般用指针或引用传递数组类型一般用指针传递小技巧: 当函数参数超过7个以上, 比较多的时候, 可以把它封装在一个结构体中然后传指针或引用。原创 2024-05-02 16:54:51 · 369 阅读 · 0 评论 -
C++基础——引用
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。原创 2024-04-23 11:35:18 · 251 阅读 · 0 评论