C++里的继承是什么意思,这个c++类的继承是什么意思

2020-11-21 18:52:53 字数 5541 阅读 2135

1楼:化冻

继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:

卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的"父亲",而这些子实体则是汽车的"孩子"。如果一个类a继承自另一个类b,就把这个a称为"b的子类",而把b称为"a的父类"。

继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的**。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。

2楼:小泉的大叔

继承类似于c语言中的调用,是为了解决c语言出现过多的重复**的设计的。

这个c++类的继承是什么意思

3楼:匿名用户

不是调用另一个类的函数,是声明了一个 返回值为g4vphysicalvolume* ,没有输入参数的函数construct()。

这句话和后面括号里的语句是定义了construct()函数。

定义没有写在类里面,所以要加上exn01detectorconstruction::,来表明是类exn01detectorconstruction中的函数。

c++中的类继承究竟有什么作用?

4楼:匿名用户

继承能体现事物的普遍性和特殊性。

5楼:

这是c++面向对象编程的一个重要概念,继承可以使**得到重用,子类还可以在父类的基础上添加功能。

6楼:百度用户

对于通明函数,如果不是虚继承,那么继承下来的每个类里都拥有这样的函数

就会成为冗余的东西,是同一样东西的多分拷贝了

具体你到网上搜索一下看看把

c++中继承的本质到底是什么 5

7楼:匿名用户

“子类继承父类和把父类的成员变量包含到自己的类中到底有啥区别呀?”

回答:这里面有一点点区别。比如说如果子类创建了自己的私有成员那么子类是可以通过自己的成员函数来访问自己的私有成员的,但是子类却不可以通过自己的成员函数来访问继承自父类的私有成员,这就说明通过继承过来的成员与子类本身具有的成员是有一些区别至于为什么会这样,我也有点疑问。

因为c++有规定类本身自己的成员函数是可以访问自己的成员变量的,所以继承的本质并不仅仅是包含和关联那么简单

8楼:匿名用户

给你讲一个简单的例子吧:线段是一个基类,它派生出一个矩形类,这样线段是父类,私有数据成员就可以是长度;而矩形是子类,它是线段组成的(就是说它继承了线段的特点),它有自己的新的私有数据成员周长和面积,同时有线段的私有成员:长度(但是不能直接访问,可以通过父类的成员函数访问:

比如可以父类的成员函数为设置长度和取长度,这样就能访问父类的私有成员)。至于说为什么子类为什么不能直接访问父类的私有成员:既然能访问私有成员那还有必要分2个类吗?

直接当成一个类就可以了!这样父类就没有存在的意义了,拿例子说就是线段就没有存在的意义了。但是线段还可以派生出其他的类啊:

可以是圆,三角形。。。。

类的派生可以建立具有共同关键特征的对象家族,从而实现**的重用,这种继承和派生的机制对于已有程序的发展和改进是极为有利的。

9楼:匿名用户

继承在于多个类之间可以共享他们共同的东西(继承基类),并具体化自己特有的功能(如重载或自己添加特有的成员)。继承了父类的私有成员,这些就变成了子类的私有成员,子类不能访问父类的私有成员,是指子类自己的实现不能访问继承自父类的私有成员(基类的私有成员由继承自基类自己的实现来控制),如果想修改这点,基类protected成员是可以被派生类的实现访问的,同时又能像private一样实现封装。

10楼:孤松独海

继承就相当于,老爸把自己的钱和权,做人做人做事的方法传给了儿子,但是老爸某些私有物品,比如名字啥等却传不给儿子。

11楼:匿名用户

这个只是语言上的语法限制,也是可以访问的,不过要用点手段,只要一门语言有直接访问内存的功能就没有不能真正访问不到的数据。

什么是c++的继承性

12楼:匿名用户

一个关于继承性的综合例子,该例子编写一个有关日期(年、月、日)和时间(时、分、秒)的程序。该程序建立三个类,其中一个是日期的类date,一个是时间的类time,另一个是日期和时间类datetime,它是前面两个类为基类的派生类。

下面是该程序的源码:

#include < > 头文件自己加

typedef char string80[80];

class date

date(int y, int m, int d)

void setdate(int y, int m, int d)

void getstringdate(string80 &date)

protected:

int year, month, day;

};class time

time(int h, int m, int s)

void settime(int h, int m, int s)

void getstringtime(string80 &time)

protected:

int hours, minutes, seconds;

};class timedate:public date, public time

timedate(int y, int mo, int d, int h, int mi, int s):date(y, mo, d),  time(h, mi, s) {}

void getstringdt(string80 &dtstr)

};void main()

该程序中,对象的数据成员的值是通过成员函数获取数据成员的字符串,然后再使用输出语句进行输出的。

c++私有继承有什么用

13楼:匿名用户

私有继承可以实现 has a 的关系,也就是包含。

私有继承中:

1. 父类的 public 和 protected 成员在子类中变成了子类 private 的成员,

1.1 这就意味着从父类继承过来的这些成员(public/protected), 子类的成员函数可以调用之;

但是子类的对象就不能够调用之;

进一步的理解就是,在 子类中可以调用父类的(public/private)接口, 但是这些接口不会被暴露出去。

这个特性正好实现了包含(***posite)的特性。

c++中的继承和组合有 什么区别和相同的! 5

14楼:匿名用户

类中的数据成员变成另外一个类的对象的时候,就是类的组合.

也就是说用一个类的对象作为另一个类的成员的时候,就是类的组合

而继承 是有权限的

1. 公有继承(public)

公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。

2. 私有继承(private)

私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。

3. 保护继承(protected)

保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。

假设a是基类,b是a的派生类,c是b的派生类

假设b公有继承于a,c公有继承于b,则

b可访问a的公有,保护类成员,但不可访问a的私有成员(所以继承方式,派生类均不可访问父类的私有成员,以下不再重复说明)

c可访问a的公有,保护类成员

假设b保护继承于a,c公有保护于b,则

b可访问a的公有,保护类成员,

c可以访问a的公有,保护类成员

假设b私有继承于a,c公有保护于b,则

b可访问a的公有,保护类成员,

c不可访问a的所有成员

不知道这么说你能明白吗 谢谢!

15楼:匿名用户

继承 和 组合。

继承 黑马是马

组合 手机和耳机。

都为实现系统功能重用,**复用的常用技巧,都是在设计模式中的基础结构

16楼:爪抽

组合?什么是组合 啊?

17楼:风丁庆旭

我自己总结过,书上也有:共有继承:1

共有继承不改变基类成员在派生类中的访问权限。在共有继承下,基类的public成员,protect成员,private成员在派生类中保持它们在基类中相同的访问权限。2

在派生类中定义的成员函数不能直接访问基类的私有成员,只能通过public或protect成员函数访问。私有继承:1

基类的private和protect都在派生类中变成了private成员,不能被派生类的外部函数访问。2

派生类的成员函数不能访问基类的private成员,但可以访问基类的public和protect成员,并通过它们访问基类private成员。

18楼:战玮鄂浩歌

继承是面向对象语言的重要机制。它可以建立在一般类的基础上。继承和派生实际上是同一回事,但参数不同,例如:子类继承父类,父类派生类。

c++:继承中的同名覆盖原则是什么意思?

19楼:匿名用户

当派生类与基类有相同成员时,例如:有一个基类class a, a类里有个成员函数 int fun(),类b继承了类a,类b也有个成员函数,int fun(),在实现部分里,在调用下函数fun()下,由于基类和派生类的函数名一样,系统无法按原则(原则:先基类,然后对象,最后派生类)调用,就覆盖了。

20楼:匿名用户

子类从父类那继承一个函数。在子类中如果要覆盖继承过来的函数,函数声明必须与父类完全一致。

如果父类声明的是虚函数,怎叫重写。

21楼:慕未桑博雅

覆盖是指派生类重新实现(或者改写)了基类的成员函数,其特征如下:

1.不同的作用域(分别位于派生类和基类中)2.函数名称相同

3.参数列表完全相同

4.基类函数必须是虚函数

所以,仅仅是同名是不能达到覆盖的效果的。

c++中虚继承和一般的继承有什么不同

22楼:匿名用户

举例来说:假如类a和类b是由类x继承而来(非虚继承且假设类x包含一些成员),且类c同时继承了类a和b,那么c就会拥有两套和x相关的成员(可分别独立访问,一般要用适当的消歧义修饰符)。但是如果类a虚继承自类x,那么c将会只包含一组类x的成员数据。

23楼:随意之歌

虚继承不管父类派生出多少个子类在内存总只存在一套数据,但是一般继承会存在与派生类个数对应的n个数据(n为派生类个数)

在C++中a!0是什么意思啊,namber!0有是什么意思

1楼 匿名用户 条件判断, 不等于 的意思 2楼 匿名用户 number 0 就是变量number不为0的意思,一般用在if ,或者while for语句中,作为条件判断用哦 3楼 匿名用户 这个是逻辑判断, 是不等于 4楼 ! 是不等于,a! 0就是变量a! 0,可以用作判断 namber也是变量...

C++中,类的protected究竟有什么作用

1楼 匿名用户 声明 private protected public 继承private x x x protected x o o public x o o 类外调用 x x o 由上图可见protected和public的区别 在类外调用时,可以调用public成员 但是不能调用protect...

iPhone 5C的“C”到底是什么意思

1楼 南唐小主李煜 iphone5c有五种颜色 红 黄 绿 蓝和白。 补贴价也仅是 iphone 5s 的一半,可以说在苹果的新iphone 阵营中,这款设备处于一个非常有趣的位置。 iphone 5c 上市之后苹果将不再继续提供iphone 5,而且 iphone 5c 和 iphone 5 的配...