分享
 
 
 

对C++片断的回顾

王朝c/c++·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

2004-11-15 11:00 PM

总结C++,类的继承、包括对虚函数的使用都是重要的内容。甚至可以说它们是C++编程的一个缩影。个人认为关于这些理论是值得回顾的。随时&随地。

首先,是继承。这个概念很好的体现面向对象编程的概念。一个新的类型继承了已存在的类型的属性和行为,并且为了使新类型具有自己所需要的功能。而继承真正的魅力在于能够添加基类所没有的特点以及取代和改进从基类那里继承来的特点。

先谈谈理论的东西,C++提供了3种继承方式,用图表来说明应该简单一点

类成员变量的

访问说明符

继承类型

Public继承

Protected继承

Private继承

Public

在派生类中为public

可以直接由任何非static

成员函数、友元函数和

非成员函数访问

在派生类中为protected

可以直接由任何非static

成员函数、友元函数访问

在派生类中为private

可以直接由任何非static

成员函数和友元函数访问

Protected

在派生类中为protected

可以直接由任何非static

成员函数和友元函数访问

在派生类中为protected

可以直接由任何非static

成员函数和友元函数访问

在派生类中为private

可以直接由任何非static

成员函数和友元函数访问

Private

在派生类中隐藏

可以通过基类的public

或protected成员函数

由非static成员函数和

友元函数访问

在派生类中隐藏

可以通过基类的public

或protected成员函数

由非static成员函数和

友元函数访问

在派生类中隐藏

可以通过基类的public

或protected成员函数

由非static成员函数和

友元函数访问

根据上面表格里面的内容,我们可以按照自己的需求,作出相应的组合。

在public继承中,可以把一个派生类的对象作为它的基类对象来进行处理,另外,也可以把一个基类对象的指针强制转换成派生类指针,不过,必须首先确保它一定是指向某个派生类对象的;如果把指向基类对象的指针显式的转换成派生类指针以后,引用该对象中并不存在的派生类的成员会导致运行时的逻辑错误。

由于派生类继承了基类的成员,所以在建立派生类的实例对象时,必须调用基类的构造函数来初始化派生类对象的基类成员。派生类的构造函数既可以隐式的调用基类的构造函数,也可以在派生类的构造函数通过给基类提供初始化值显式的调用基类的构造函数。派生类不继承基类的构造函数和赋值运算符,但是派生类构造函数和赋值运算符能够调用基类的构造函数和赋值运算符。派生类的构造函数总是先调用其基类构造函数来初始化派生类中的基类成员。如果省略了派生类的构造函数,那么就由派生类的默认构造函数调用基类的默认构造函数。析构函数的调用顺序和构造函数的调用顺序是相反的,因此派生类的析构函数在基类的析构函数之前调用。

在public继承中,因为派生类对象也是基类对象,所以指向派生类对象的指针可以隐式的转换为指向基类对象的指针。基类指针和派生类指针与基类对象和派生类对象的混合和匹配有如下4种可能的方式:

1、 直接用基类指针引用基类的对象。

2、 直接用派生类指针引用派生类对象。

3、 用基类指针引用一个派生类对象。由于派生类的对象也是基类的对象,所以这种引用方式是安全的,但是用这种方法只能引用基类成员,如果试图通过基类指针引用那些只有在派生类中才有的成员,语法错误。

4、 用派生类的指针引用基类的对象。这种引用方式会导致语法错误。派生类指针必须先强制转换为基类指针。

多重继承,意味着一个派生类可以继承多个基类的成员。

2004-11-16 6:00 AM

本来打算在昨天完成的工作,因为同学的突然来访,只好被推迟了。

C++中有一种抽象类型,它是不能被实例化成任何对象的,它唯一的用途就是为其他类提供合适的基类,其他类可以从这里继承实现接口。所以,平时也称呼抽象类为接口。实际上在C++中是没有接口这个概念,在java等面向对象编程语言中是有的,不过没有关系,本质上是一样的。抽象类的表现是包含有一个纯虚函数。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有