栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++注意事项(更新中)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++注意事项(更新中)

七、继承与派生

1、protected成员的特点

(1)对其所在类的对象来说,它与 private 成员的性质相同。

(2)对其派生类来说,它与 public 成员的性质相同。

2、通过基类对象名、指针只能使用从基类继承的成员。

(大指小可以,小指大不行)

3、派生类的构造函数需要给基类的构造函数传递参数。

4、当基类声明有带形参的构造函数时,派生类也必须声明带形参的构造函数,并将参数传递给基类构造函数。

5、如要通过派生类对象访问基类中被隐藏的同名成员,应使用基类名限定。

6、在第一级继承时就要将共同基类设计为虚基类。

7、在建立对象时,只有最派生类的构造函数调用虚基类的构造函数,该派生类的其他基类对虚基类构造函数的调用被忽略。

8、在整个继承结构中,直接或间接继承虚基类的所有派生类,都必须在构造函数的成员初始化表中给出对虚基类的构造函数的调用。如果未列出,则表示调用该虚基类的默认构造函数。

八、多态性

1、可以重载C++中除下列运算符外的所有运算符: .(引用对象成员) .*(引用指向类成员的指针) ::(域名限定) ?:(三元运算符)

2、只能重载C++语言中已有的运算符,不可臆造新的。

3、不改变原运算符的优先级和结合性。 不能改变操作数个数。

4、经重载的运算符,其操作数中至少应该有一个是自定义类型。

5、前置单目运算符,重载函数没有形参,对于后置单目运算符,重载函数需要有一个整型形参。

6、加、减法运算符重载

 7、前、后置单目运算符重载

++oprd相当于oprd.operator++()

 oprd++相当于oprd.operator++(0)

 

运算符调用: 

 

 8、虚函数注意事项

(1)virtual 只用来说明类声明中的原型,不能用在函数实现时。

(2)具有继承性,基类中声明了虚函数,派生类中无论是否说明,同原型函数都自动为虚函数。

(3)本质:不是重载声明而是覆盖。

(4)调用方式:通过基类指针或引用,执行时会根据指针指向的对象的类(多态),决定调用哪个函数。

9、抽象类只能作为基类来使用。

10、不能声明抽象类的对象。

11、构造函数不能是虚函数,析构函数可以是虚函数。

12、个人理解:虚函数、虚基类等的存在就是用来解除类型兼容规则带来的限制,使得我们可以想调用哪个类(基类or派生类)的函数就调用哪个。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号