VC++中为什么要用类?包括派生类,为什么要派生?

发布网友 发布时间:2024-10-23 11:25

我来回答

4个回答

热心网友 时间:2024-11-03 01:46

这个问题说起来挺复杂的,不过值得庆幸的是,在大多数C++语言教材里,都有明确的阐述,如《The C++ Programming Language》《C How To Program》,建议你看一下。如果不太方便,我也很乐意阐述一下我的理解,因为不想复制网上的,有欺骗楼主的感觉。
举个例子,建立一个基类:SHAPE,即“图形类”
类SHAPE里,含有几个纯虚函数,例如Draw()用来绘制图形,故类SHAPE称为“抽象基类”,因为它不能创建任何对象,类SHAPE实在太过笼统,什么叫“图形”?这可太多啦!既然SHAPE不能用来声明对象,所以他的成员函数,也是纯虚函数的Draw()亦没有定义!
但是,我们可以从SHAPE派生出类Circle、类Rectangle……并且在这些新类里,定义抽象基类SHAPE里没有定义的纯虚函数Draw(),之所以现在可以定义,因为Circle和Rectangle已经是具体的类,他们可以声明对象,比如前者声明一个“圆”,后者声明一个“矩形”,我们当然可以用Draw()函数来描绘圆和矩形。
类有结构体所不具备的优点:信息隔离!只要类的接口不变,不论外界怎么变,类的内部不受影响;反之亦然!
之所以要派生,这要涉及“多态性”这个概念。简单说,当程序非常复杂时,我们可能会用指针来操纵类;这时,如果使用一个基类的指针来操纵的话,会容易很多;若结合我开始举的例子,那就是用SHAPE的指针来操纵Circle和Rectangle的对象,要好于使用后面两个派生类的指针操纵他们各自的对象!要问原因,说来话长,还是自己看书吧。
所以,我们既要有基类,也要有派生类。可以简化程序,易于调试、改错。如果你能接触一些大型复杂的程序,就会感受到C++的类有多么强大和有用!

热心网友 时间:2024-11-03 01:46

看来你还没搞清楚类和函数之间的关系.
类是相似对象的集合。它描述了一组有相同特性的对象及在这些对象上共有的相似行为.
比如 猫,狗 就是类.
函数只是一个封装好的操作,一个具有独立功能的模块.
比如说:y=x+1;y=x-2把它描述为函数就是y=f(x).

使用类,可以对程序进去模块化,简化了程序的复杂程度.
而在一个程序中,类的使用是依据程序来设计的,不是说一定要用或者用多个类什么的.

热心网友 时间:2024-11-03 01:47

使用类,可以对程序进去模块化,简化了程序的复杂程度。
类中封装了很多功能函数,类可以提供接口去调用这些函数。
而类与类之间存在着很多关系,例如:派生类

热心网友 时间:2024-11-03 01:47

这涉及到的东西很多了,呵呵。我是讲不了

这主要是面向对象编程和面向过程编程的问题了。
面向对象编程应该是编程发展的方向吧。
使得编程更加自然
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com