Cpp笔记
文章平均质量分 54
AKA Dragonite
这个作者很懒,什么都没留下…
展开
-
C++程序设计笔记 类的赋值、拷贝、移动函数
必要性 与后文关系很大,需要完全弄清楚。我们要关心各种函数的的参数是什么,返回什么,为什么要这么设计。 赋值运算符函数 合成赋值运算符函数 在调用前:如果类显式地提供了赋值运算符,需要确认其一定是public成员。 A& A::operator=(const A &s) { } 这是一般格式,传入的是一个对象的引用,返回的则是一个另一个对象的引用。 重载赋值运算符函数 合成与重载的区别就是:合成是系统 ...原创 2021-05-12 09:29:03 · 173 阅读 · 0 评论 -
C++程序设计笔记 part.3
本部分继续讨论面向对象的基础和几个性质 C++11的委托构造函数 注意:传参使用初始化列表,且不能含有其他的变量。 赋值(拷贝)运算符函数、移动函数 前两者都是浅拷贝,要注意悬挂指针的问题,而后者是C++11新标准中的新函数。 我们应当注意各个情况下是对对象的赋值还是拷贝,有以下几种情况: 当出现如下定义语句Class_A B = C这是执行了一个类的赋值。 当出现如下语句Class_A B; B = C;这是执行了一个类的拷贝。 当对象作为参数传入函数时,此时执行了一个类的拷贝,一定不能忽略它产生时必要原创 2021-04-21 20:11:16 · 91 阅读 · 0 评论 -
C++程序设计笔记 part.2
成员函数 本节讨论在类中比较特殊的几类成员函数。 类内自动inline:在类的内部给出成员函数定义,如果没有分支结构,直接处理为inline。 常量成员函数:观察如下声明 double getSalary() const;在getSalary函数中将不允许改变任意数据成员的值。 构造函数原理 对于一般的设计方法,有以下执行顺序: 类内初始值 -> 构造函数初始化列表 -> 构造函数体 构造函数也存在默认的构造形式,类似于 class X { X(){} } 按照常理,如果定义了一个构原创 2021-04-07 19:24:57 · 96 阅读 · 0 评论 -
C++程序设计笔记 const专题
在初步学习C++语法的过程中,有特别明显的感受:const是一个十分重要的C++特性,彻底掌握它很有必要。 顶层const与底层const 想要很好地掌握const的概念,必须要能够正确的理解“变量的声明格式”,基本要求是必须要念对。 const int *ptr //ptr是一个指向const int类型的指针(ptr是一个指向整数常量的指针) int *const ptr //ptr是一个指向int类型变量的常指针 以上这两种定义方法是很好念的,下面这个需要额外注意: int const *ptr /原创 2021-03-28 22:37:08 · 80 阅读 · 0 评论 -
C++程序设计笔记 part.1
栏目内容 本学期学校开设了C++程序设计,但我并没有参加该课程的实验课,本栏目用于记录自己对于一些C++中有疑问代码的实现,每周一次更新。 参考书籍 C++面向对象程序设计(第三版) 杜茂康等编 C++ How to Proigram, Ninth Edition P.Deitel H.Deitel 数据流 测试1:由于char只读取一个数据,那么考虑如下代码: int main() { char a; int b; cin >> a; //输入1:34原创 2021-03-16 15:00:53 · 83 阅读 · 0 评论