C++语言学习
文章平均质量分 90
C++学习
Petrichorzncu
这个作者很懒,什么都没留下…
展开
-
侯捷C++及C++ Primer plus(六)
虚指针:其实就是一个地址值,以该地址为起始地址的一片内存单元存放着各虚函数的入口地址,这一片内存单元合起来就称为虚函数表(想象一下:一片内存单元存着许多函数地址,想执行哪个虚函数就来这片内存单元查找该虚函数的入口地址,就像查表一样,故称虚函数表)。子类的构造函数首先执行自己,然后调用拥有对象的析构函数,最后执行父类的(和构造函数的执行顺序完全相反)子类的构造函数首先调用父类的默认构造函数,然后调用拥有对象的构造函数,才执行自己的。子类的构造函数首先调用父类的默认构造函数,然后才执行自己。原创 2024-06-26 14:53:41 · 331 阅读 · 0 评论 -
侯捷C++及C++ Primer plus(五)
函数模板在使用时不必指明type,函数在调用时会进行实参推导,根据调用时的参数推导出type的类型。在设计class的时候,认为可以把哪种变量或函数抽出来允许使用者任意指定就将其前面加T,将其抽出。如果传入函数模板的类型为stone,而stone中没有重载函数模板中用到的运算符,则此时会报错。箭头符号有一个特殊的行为,作用下去得到结果后箭头符号会继续作用下去。调用智能指针的构造函数,将普通指针传入进去生成一个智能指针。传入构造函数的初值如果是该类的子类所构成的,则可以成功赋值。原创 2024-06-26 14:53:04 · 895 阅读 · 0 评论 -
侯捷C++及C++ Primer plus(一)
猜数字结构体案例1结构体案例2。原创 2024-03-23 18:53:53 · 991 阅读 · 0 评论 -
侯捷C++及C++ Primer plus(二)
描述如何实现类成员函数类声明提供了类的蓝图,而方法定义则提供了细节。C++程序员将接口(类定义)放在头文件中,并将实现(类方法的代码)放在源代码文件中。原创 2024-03-23 18:54:03 · 770 阅读 · 0 评论 -
侯捷C++及C++ Primer plus(三)
运算符重载是一种形式的C++多态。C++允许将运算符重载扩展到用户定义的类型。例如,允许使用+将两个对象相加。编译器将根据操作数的数目和类型决定使用哪种加法定义。重载运算符可使代码看起来更自然。要重载运算符,需使用被称为运算符函数的特殊函数形式argument-list表示该运算符的操作数。如果运算符函数是类成员函数,则第一个操作数是调用对象,它不在argument-list中。operator +( )重载+运算符,operator * ( )重载*运算符。原创 2024-03-23 18:55:35 · 708 阅读 · 0 评论 -
侯捷C++及C++ Primer plus(四)
在调用父类中FindAndClone这个函数时如果生成的对象还是调用私有构造函数会造成addPrototype重复的添加了相同的对象,因此要调用友元的构造函数(该构造函数也可以为私有,主要是为了与另外的构造函数做区分),参数的作用主要是为了做区分。如果没有提供任何构造函数,C++将创建默认构造函数编译器将提供一个不接受任何参数,也不执行任何操作的构造函数(默认的默认构造函数),这是因为创建对象时总是会调用构造函数如果定义了构造函数,C++将不会定义默认构造函数。在计算机的文件系统中,有“文件夹”的概念。原创 2024-03-22 21:46:50 · 698 阅读 · 0 评论