c++基础讲解
文章平均质量分 84
Alex、WY
加油 加油
展开
-
C++基础讲解第八期(智能指针、函数模板、类模板、异常处理机制、类型转换)
类模板中定义的函数类型可以用在类声明和类实现中类模板的目的同样是将数据类型参数化并且在实例化对象的时候,一定要显式调用。原创 2023-05-31 23:42:00 · 985 阅读 · 0 评论 -
C++基础讲解第七期(运算符重载、数组类)
(3). 重载不能改变运算符的用法,例如: "+"只能在两个操作数中间,重载之后也必须如此。所谓重载,就是重新赋予新的含义,运算符重载就是,同一个运算符可以有不同的功能。(2). 重载不能改变运算符的优先级和结合性,假设加载了"+“和”*"(4). 运算符重载不能有默认参数,否则就改变了运算符的操作数.(5). 运算符重载函数可以作为类的成员函数,也可以作为全局函数。等价于c4 = c1 + (c2 * c3);运算符重载的本质就是函数的重载。我先写出接口, 下期公布代码哈。(1) 不能重载的运算符。原创 2023-05-29 22:27:00 · 847 阅读 · 0 评论 -
C++基础讲解第六期(多态、虚函数、虚析构函数、dynamic_cast、typeid纯虚函数)
手动去封装一个函数去实现什么情况可以转换类型,什么情况下不能转发,防止编译器报错private :int a;return ID;} };return ID;} };//使用强转类型,派生类指针指向基类对象 if(p -> GetID() == Child :: ID) //如果成立,说明指向派生类对象 {cout原创 2023-05-23 00:05:22 · 641 阅读 · 0 评论 -
C++基础讲解第五期(继承、多继承、虚继承、向上转型、同名函数)
当我使用C习惯之后,在写链表的时候会去考虑二级指针,以及链表变了怎么才能反映出来。其实,在我们实现类的成员函数时,在成员函数里面去对成员变量进行改变,当我们去实例化这个类的时候,这个成员函数和成员变量才真正的产出,比如上面的insertNode(),在它的里面直接用了成员变量head,但是当我实例化出list的时候,调用list.insertNode()的时候,使用的就是list对象的head,改变它,就时有效的,生命周期一直到这个对象销毁。不像C中,生命周期是它的本函数内,所以要传二级指针。原创 2023-05-17 13:37:52 · 461 阅读 · 0 评论 -
C++基础讲解第四期(友元、静态成员变量、静态成员函数、继承和派生)
类的构造函数不能被继承,因为即使被继承了基类构造函数的名字也和派生类名不一样,不能成为派生类的构造函数,为了初始化基类成员,需要在派生类的构造函数的参数初始化列表显示调用基类的构造函数。继承可以理解为一个类从另一个类中获取成员变量和成员函数的过程,例如类B继承类A,那么B就拥有A的成员变量和函数,被继承的类被称为父类和基类,继承的类被称为子类或者派生类。现在有一种例外情况,叫做友元,借助友元函数,可以在其他类中的成员函数以及全局范围内的函数可以访问私有成员。原创 2023-05-08 00:03:26 · 1158 阅读 · 0 评论 -
C++基础讲解第三期(超详细)每天更新哈,大家一起加油
首先会调用无参构造函数,因为Func中创建了a1对象,将a1 return时,会产生匿名对象(没有名字的对象),因为这时候a1被释放了(因为a1是局部的),那么这时候用这个a1匿名对象初始化a2,就会调用匿名对象的拷贝构造函数,编译器实际上不会给a2分配空间,而是将匿名对象给了a2,直接用a2给这个匿名对象命名,所以不会产生两次拷贝构造。在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显示调用(也不能调用),而且在创建对象的时候自动执行。1.malloc是函数,new是关键字。原创 2023-03-30 00:13:25 · 373 阅读 · 0 评论 -
C++基础讲解第二期(超详细)每天更新哈,大家一起加油
一、类和对象1、面向对象的编程介绍2、面向对象的优缺点3、类和对象a、概念b、类的访问控制c、访问控制的几点使用说明d、类中元素的说明练习:设计立方体类(Cube)求立方体的面积(2ab+2bc+2ac) 和体积(a*b*c),并且判断两个立方体是否相等原创 2023-03-21 23:27:12 · 318 阅读 · 0 评论 -
C++基础讲解第一期(超详细)
这里写目录标题一、面向对象概述1、C++发展2、为什么要学习C++3、面向对象和面向过程4、C++与C语言相比的改进5、面向对象的三要素(中心思想)二、C到C++的过度1、第一个代码一、面向对象概述1、C++发展1998开始,c++98—>c++03—>c++11—>c++142、为什么要学习C++众所周知,c++是一门面向对象的语言,在世界上的地位非常高,使用非常广泛,就业前景好。c++是c语言的升级版,c++几乎完全兼容c语言。应用范围:应用软件开发、游戏开发、多媒体开发、原创 2022-03-26 17:58:47 · 1570 阅读 · 0 评论