怎么用C++面向对象编程编写一些小程序
最近一直在学c++面向对象的类,里面的概念好多,好不容易能有个一知半解。我想知道用类对象编程相比c的优越性在哪里。用c++适合写什么样的程序,能否举些例子让我看看。...
最近一直在学c++面向对象的类,里面的概念好多,好不容易能有个一知半解。我想知道用类对象编程相比c的优越性在哪里。用c++适合写什么样的程序,能否举些例子让我看看。
展开
展开全部
c++对于c是一个很大的进步,它把所有的物体都当做类,这样符合人类的常规思维,对于人类编程起来的话就会得心应手....编起大型程序来就会比面向过程的更易于维护,代码也更易于理解....
这样说起来比较官方,你是对面向对象的编程思维没有概念,我可以说几个现实生活中的例子给你听你就会大概明白了....
比如你把你当成一个类,把洗衣机当成一个类,而洗衣机提供给你了几个按钮(也就是公有函数,即提供给人的接口)让你来操作这台洗衣机,比如放水,洗衣,甩干等,如果你不是洗衣机的制造者(也就是编写这个类的编程人员),你不必要知道里面发动机的型号(即它的私有变量)和发动机是如何通上电运转的(即它的私有方法),你只要知道这几个按钮(即接口)并去操作它(即调用这几个对应的接口方法)而已.......
作为一个编程人员,你即可能是一个类的使用者,也有可能是一个类的开发者,
如果你是开发者,也就是开发设计洗衣机的人,你这时候就要考虑编写一些发动机是怎么启动怎么运转之类的函数了,你只要充分考虑提供给使用者什么按钮就行啦.......
对于维护的好处是,即使你以后洗衣机要改动里面的发动机运转方式,甚至是把用电启动改成用太阳能启动,但是你提供给你的使用者的那几个按钮是不变的,他们是不用去了解你发动机做了什么更改的,给他们的感觉只有现在更省电了(就是程序运转更快了)而已,所以对于使用者来说就可以不要做任何的更改的配合...这样不是更好维护了么~~~
这样说起来比较官方,你是对面向对象的编程思维没有概念,我可以说几个现实生活中的例子给你听你就会大概明白了....
比如你把你当成一个类,把洗衣机当成一个类,而洗衣机提供给你了几个按钮(也就是公有函数,即提供给人的接口)让你来操作这台洗衣机,比如放水,洗衣,甩干等,如果你不是洗衣机的制造者(也就是编写这个类的编程人员),你不必要知道里面发动机的型号(即它的私有变量)和发动机是如何通上电运转的(即它的私有方法),你只要知道这几个按钮(即接口)并去操作它(即调用这几个对应的接口方法)而已.......
作为一个编程人员,你即可能是一个类的使用者,也有可能是一个类的开发者,
如果你是开发者,也就是开发设计洗衣机的人,你这时候就要考虑编写一些发动机是怎么启动怎么运转之类的函数了,你只要充分考虑提供给使用者什么按钮就行啦.......
对于维护的好处是,即使你以后洗衣机要改动里面的发动机运转方式,甚至是把用电启动改成用太阳能启动,但是你提供给你的使用者的那几个按钮是不变的,他们是不用去了解你发动机做了什么更改的,给他们的感觉只有现在更省电了(就是程序运转更快了)而已,所以对于使用者来说就可以不要做任何的更改的配合...这样不是更好维护了么~~~
展开全部
用C++编程,最大的好处是它提供了面向对象的编程模式,与C语言的面向结构的编程模式有些区别,其中C++中的类的定义可以将功能封装,通过类的定义,类的引用可以实现很多功能。
C是一个结构化语言,如谭老爷子所说:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
对语言本身而言,C是C++的子集,那么是什么样的一个子集?从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。
再提高一点,在C++中,数据封装、类型这些东东已不是什么新鲜事了,需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用等等问题。
所以相对于C,C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习。
C是一个结构化语言,如谭老爷子所说:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
对语言本身而言,C是C++的子集,那么是什么样的一个子集?从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。
再提高一点,在C++中,数据封装、类型这些东东已不是什么新鲜事了,需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用等等问题。
所以相对于C,C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单一点吧!举个实际的我正在编写的例子,我用opengl在绘制3d的图像,里面需要很多模型,比如飞机,由于飞机至少需要移动、飞行方向,而且飞机又很多,每个飞机移动的速度、位置、方向等又不一样,怎么办?难道我在主函数里定义一大堆飞机速度、位置、方向等数组?这太麻烦了,所以呢
给飞机声明一个飞机类,里面有飞机的速度、加速度、当前位置、移动方向等数据成员,那么我只要在主函数里实例化所需的飞机,然后某个飞机怎么飞,查看下它的数据成员就可以了,这方便多了
给飞机声明一个飞机类,里面有飞机的速度、加速度、当前位置、移动方向等数据成员,那么我只要在主函数里实例化所需的飞机,然后某个飞机怎么飞,查看下它的数据成员就可以了,这方便多了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把进行某一功能的代码,包括结构啊变量啊函数等等写到一个类里面。这样编程思路会变得清晰点。类这个东西你用一段时间就知道它有些什么好处了。
其实优越性就是用起来方便点,有时候更容易理解。反正C++能实现的,C也能实现。
其实优越性就是用起来方便点,有时候更容易理解。反正C++能实现的,C也能实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
面向对象中比较重要的几个概念:
1、隐藏实现
2、对象的初始化
3、运算符重载
4、虚函数与多态性
5、模板
好好看书,多测试书上的例程。读完一遍你会懂的。
1、隐藏实现
2、对象的初始化
3、运算符重载
4、虚函数与多态性
5、模板
好好看书,多测试书上的例程。读完一遍你会懂的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |