大家好,今天小编关注到一个比较有意思的话题,就是关于派生编程学习的问题,于是小编就整理了2个相关介绍派生编程学习的解答,让我们一起看看吧。
为什么C++ 中,基类指针可以指向派生类对象?
悟空为啥邀请回答的问答俺都不知道或不怎么会的?就象这个,俺实际上从没用过C++或者发表过关于C++言论。俺实际上也没有过这方面的编程经历和经验。俺只是当年大学时学会汇编,后来对编程语言多少有些兴趣罢了。因工作关系,除了汇编自己玩过一阵外,别的编程语言从来没机会上机试过手。
前两天悟空的邀请就有些奇怪,邀答的问答根本没听过,亦没兴趣,所以不加理会。昨天悟空邀答又是这种根本说不上话的话题,本来也不想理会的,但毕竟对此有些兴趣,所以今天又翻来看看,究竟应该如何解析?也可以学点东西不是?但却没看到有答的(那个签到的就不算了),感觉比较奇怪:悟空上不可能没这方面的高手,为啥无人理会?问题应该不难,想了想,可能关注这方面的应该不太多,引不起专家的兴趣吧。
啰哩啰嗦的那么多,希望题主不厌烦。既然无人作答,俺自己来说两句,起个抛砖引玉的作用,希望能给题主引来个行家解析清楚问题吧。
就此专门查了下题目的名词概念,翻阅了一些人的解释(在此说下,有类似问题的还是在网上先搜索一下,即使没找到真正的答案,多少也可以有点帮助的),理解到的关键点在于:基类指针能指向派生类对象的根本原因是C++编译器及开发平台、运行时类库等对多态性的支持,即被指向的派生类对象在基类中对应的对象类型应该是动态的,不能是非动态的类型对象,而且被指向的派生类对象中也只有继承来的基类对象的元素才可以被基类指针操控,自有的元素不能***控。编译时,当基类指针指向该种类型的对象时,编译器并不能立刻确定该指针需调用的对象是基类的还是派生类的(可能有多个派生类),需到运行时才能根据该对象的类型来动态决定究竟该调用的是哪个对象。
另外,有人还提到为啥基类指针操控不了被指向的派生类对象自有的非继承的元素,在这也给说下,希望对你有帮助。
这个原因关键竟然是来自于运行时程序数据在内存的存放方式和顺序。说内存中存放派生类对象数据时是所有继承于基类对象的元素都放于前部,后面才是自有的,但基类指针搜索数据时只能搜索到基类对象原来定义的大小范围,而不可能自动突破这个范围。
好了,就这么多了。希望对你有帮助。
大学生自学电脑编程,第一步该学什么?
我从事互联网行业多年,现在也是一名计算机专业的研究生导师,所以我来回答一下这个问题。
程序设计本身并不复杂,但是要想通过自学来掌握一门编程语言的使用还是需要一个系统的学习计划。编程语言完全可以直接学习,不需要在学习语言之前做过多的准备。
首先要选择一门编程语言,如果是理工科的同学可以选择Java,如果将来有***要考计算机专业的研究生那么可以选择C语言,如果是非理工科的同学可以选择学习Python或者是PHP。
J***a语言目前是应用最为广泛的计算机语言,但是有一定的难度,需要一定的逻辑思维能力,所以比较适合理工科同学。Python和PHP相对于J***a来说要简单许多,另外这两门语言的使用也非常普遍,尤其是Python语言在大数据和人工智能领域有广泛的应用,未来发展空间会非常大。
接下来就要安装这些语言的开发环境,一边学习一边做实验,英语好的同学可以直接看***的学习指南。一定要重视实验对学习编程语言的重要性,编程语言毕竟只是工具,工具一定要多用才会熟练。比如学习J***a要安装JDK,学习Python要安装Python对应的开发环境。
我用J***a、C和Python的时间比较久,我在头条上写了学习J***a和Python的系列文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有编程方面的问题,或者是考研方面的问题,都可以咨询我。
谢谢!
到此,以上就是小编对于派生编程学习的问题就介绍到这了,希望介绍关于派生编程学习的2点解答对大家有用。