![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++Prime
文章平均质量分 75
工地码哥
这个作者很懒,什么都没留下…
展开
-
学习C++Prime第十五章第七节--构造函数与拷贝控制
7、构造函数与拷贝控制 和其他类一样,位于继承体系中的类也需要控制当其对象执行一系列操作时发生什么样的行为,这些操作包括创建、拷贝、移动、赋值和销毁。如果一个类(基类或派生类)没有定义拷贝控制操作,则编译器将为它合成一个版本。当然,这个合成的版本也可以定义成被删除的函数。 ...原创 2021-12-03 11:32:11 · 2044 阅读 · 0 评论 -
学习C++Prime第十五章第六节--继承中的类作用域
继承中的类作用域 每个类定义自己的作用域,在这个作用域内我们定义类的成员。当存在继承关系时,派生类的作用域嵌套在其基类的作用域之内。如果一个名字在派生类的作用域内无法正确解析,则编译器将继续在外层的基类作用域中寻找该名字的定义。原创 2021-11-11 20:12:09 · 582 阅读 · 0 评论 -
学习C++Prime第十五章第五节--访问控制与继承
5、访问控制与继承 每个类分别控制自己的成员初始化过程,与之类似,每个类还分别控制着其成员对于派生类来说是否可访问。 受保护的成员 如前所述,一个类使用protected关键字来声明那些它希望与派生类分享但是不想被其他公共访问使用的成员。proetcted说明符可以看做是public和private中和后的产物: 和私有成员类似,受保护的成员对于类得有用户来说是不可访问的。 和公有成员类似,受保护的成员对于派生类的成员和友元来说是可访问的。此外,protected还有另外一条重要的性质。 派生类的原创 2021-11-11 20:11:25 · 291 阅读 · 0 评论 -
学习C++Prime第十五章第四节--抽象基类
4、抽象基类 纯虚函数 纯虚函数清晰明了地告诉用户当前这个函数时没有实际意义的。和普通的虚函数不一样,一个纯虚函数无须定义。我们通过在函数体的位置(即在声明语句的分号之前)书写=0就可以将一个虚函数说明纯虚函数。其中,=0只能出现在类内部的虚函数声明语句处。 virtual 返回值类型 函数名(参数表)= 0 值得注意的是,我们也可以为纯虚函数提供定义,不过函数体必须定义在类的外部。也就是说,我们不能在类的内部为一个=0的函数提供函数体。 含有纯虚函数的类是抽象基类 含有(或者未经覆盖直接继承原创 2021-11-10 15:36:20 · 265 阅读 · 0 评论 -
学习C++Prime第十五章第三节--虚函数
3、虚函数 如前所述,在C++语言中,当我们使用基类的引用或指针调用一个许成源函数时会执行动态绑定。因为我们直到运行时才能直到到底调用了哪个版本的虚函数,所以所有虚函数都必须有定义。 ...原创 2021-11-10 14:49:12 · 155 阅读 · 0 评论 -
学习C++Prime第十五章第二节
2、定义基类和派生类 定义基类和派生类的方式在很多方面都与我们已知的定义其他类的方式类似,但是也有一些不同之处。 2.1、定义基类 NOTE:基类通常都应该定义一个虚析构函数,即便该函数不执行任何实际操作也是如此。 成员函数与继承 ...原创 2021-11-10 11:25:42 · 421 阅读 · 0 评论 -
学习C++ Prime之第十五章第一节
1、OOP:概述 面向对象程序设计的核心思想是数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类。 继承 通过继承联系在一起的类构成一种层次关系。通常在层次关系的根部有一个基类,其他类则直接或间接地从继承而来,这些继承得到的类称为派生类。基类负责定义在层次关系中所有类共同拥有的成员,而每个派生类定义各自特有的成员。 在C++语言中,基类将类型相关的函数与派生类不做改变直接继承的函数区分对待原创 2021-11-09 13:27:25 · 126 阅读 · 0 评论