怎样理解c++中的类和对象?

能给我一个形象的比喻吗?谢谢!我很疑惑啊 !

面向对象是一种编程的方式..
就如同你思考问题的方式一样,是一种规则,方法..
好比 C语言的面向过程一样,它的着中点在于问题解决的过程,先干什么,接着干什么,最后干什么..比较明显的过程式,汇编更是面向对象编程的鼻祖..所以,它们很适合编写,像操作系统,嵌入式等这些与硬件亲近,且基本上不需要对程序进行较大修改的程序,用过程式就比较高效了.
而面向对象呢,它就不同于面向对象了,它的着重点在于,怎样表示程序中的对象,这样的程序很适合编写一些像游戏,ERP,等等这样的应用性软件.

举个例子..要写一段程序模拟大自然创造世界的程序:
如果,是过程式的编写方式,首先,创造宇宙,然后从宇宙的某个点开始,创造星系,将全部星系创造完毕,星系创造完毕,又从某个星系,开始创造该星系所有的子星系,完成后创造该星系中的其他子星系,将所有星系中的所有子星系全部创建完成之后,就开始在从整个宇宙中的某个星系中的子星系的某个星球开始,建立完整的生态体系,用地球做比喻,首先,建立细菌系,然后将细菌系分裂成动物,植物系列,动物系列,进行几何式分裂,形成几亿种生命形态..依次为宇宙中的每个星球建立生态体系,完毕之后,宇宙的过程式创造就完毕了..这种方式有个明显的不足的地方就是,当你在整个宇宙,创造完毕之后要加入一个新的星系,那对与程序员来说那将是灾难性的,而且,可扩展性极差..
再看看面向对象:
首先为宇宙中的基本对象建模,宇宙这个结构中半包含的成员
class 宇宙
{
class* 大星系;
class 宇宙真空空间;
public:
//宇宙能进行的动作
宇宙();
宇宙(宇宙& a); //复制宇宙..
void operator=(宇宙& a); //复制宇宙.
~宇宙(); //自动销毁宇宙..
void 增加星系(unsigned int 新增星系编号);
void 销毁星系(unsigned int 已有星系编号);
...
...
... //等等操作
};
class 银河系:public 大星系
{
};
class 太阳系:public 银河系
{
class 地球;
class 火星;
...
};
class 地球
{
class 动物;
class 植物;
class 地球的状态;
};
class 地球的状态
{
class 陆地;
class 海洋;
...
};
class 陆地
{
class 亚洲;
class 欧洲;
...
}
class 亚洲
{
class 中国;
class 印度;
class 蒙古;
...
};
class 中国
{
class 省区[31];
}
class 省区
{
class 市区;
...
};
class 市区;
{
string 省名;
int 人口;
double 面积;
...
}
将宇宙中所有这些对象建模之后,只需生成一个宇宙对象,咋们的宇宙不就生成了..而且你要加入新的星系,或者毁灭某个星系不就轻而易举,或者要在宇宙某个地方复制个地球,那还会有什么难呢?
但并不是说面向对象的编程方式就能完全没有过程式编程,那是不可能,好比,你把车子的所有部分造好了,你不组装起来,它又怎么可能开得起来呢,其实C语言中同样有面向对象,struct 就是C语言的对象组织方式,只不过再C++中它得到了飞升..
这两种编程的方式也没有 谁强谁弱的说法,如果,用Java去编写操作系统,无异于 用诸葛亮去单条吕布..反之,用汇编去编写网络游戏,无异与让张飞去考取状元,术业有专攻..
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-06-04
C++类的定义:
类是定义同一类所有对象的变量和方法的蓝图或原型
类也可以定义类变量和类方法。可以从类的实例中或者直接从类中访问类变量和方法。类方法只能操作类变量,不必访问实例变量或实例方法。系统在第一次在程序中遇到一个类时为这个类建立它的所有类变量的拷贝,这个类的所有实例共享它的类变量

C++对象的定义:
定义一个类就相当于创建了一个新的class类型。要使用类,还必须用已经定义的类去说明它的实例变量(即对象)。在C++中,class类型一旦被定义,它的实例变量(对象)就能被创建,并初始化,且能定义指针变量指向它。实例化的类就是对象

类和对象其实是C语言里的结构体的延伸,在C++里,struct 和 class其实本质上是一样的,唯一区别就是struct默认是公开的,class默认是私有的,公开时需要声明为public;还有就是C语言里的结构体,不能包含函数和继承,C++可以包含函数以及继承其他的类
第2个回答  2008-12-27
类,譬如说方言类。它有参数:词汇,语音,语法,分布地域。。。。。
对象,例如:
四川话,是方言类的一个对象。它有四川话的词汇,语音,语法,分布云贵川。
广东话,是方言类的一个对象。它有广东话的词汇,语音,语法,分布海内外。
上海话,是方言类的一个对象。它有上海话的词汇,语音,语法,分布长江下游。
第3个回答  推荐于2016-03-15
需要和类在一块说说。
类是对某些具有共同特征的事物的抽象。比如说一个班级里有许多同学,这些同学都会有名字、学号、年龄等特征。这时就可以定义一个classmate类,用这个类来描述一个同班同学的特征;另外还要实现几个操作,比如说更改名字,学号等等,初始化数据等。有了这些,一个类基本上就完成了。

把类说清楚了,对象就很容易说了。
对象就是类的实例。有了classmate类,就可以用它定义一个变量(沿用c里面说法),用这个变量具体的描述某位同学。实际上这个“变量”就是这位同学的对象。

以上就是我说能够描述的了,不知道对你能不能有帮助本回答被提问者采纳
第4个回答  2016-05-20
其实这个问题我还是不晓得,但是可以上百度查一查就知道了哈!

C++中的class和object是什_意思?
C++对象的定义:定义一个类就相当于创建了一个新的class类型。要使用类,还必须用已经定义的类去说明它的实例变量(即对象)。类是把函数和一些成员数据放在一起,类似于结构体struct。声明格式是class+类名{数据成员+成员函数}。class是必须的关键词。我们就用Class这个来来表示对这些类和接口的抽象,...

c++的类和对象
对象是类进行实体化后的产物,是一个实体。在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。 类是用户自己指定的类型。如果程序中要用到类...

C++类和对象到底是什么意思?
深入理解C++:探索类与对象的奥秘 C++,作为一门引领编程潮流的面向对象编程语言,其基石便是类(Class)和对象(Object)。类,就像是C语言中的结构体(Struct)的升级版,但承载了更多功能和灵活性。让我们一起揭开这个概念的神秘面纱。在C++中,类是一个构造类型,它超越了结构体的简单变量集合。它不...

C++类和对象到底是什么意思?
C++是一门面向对象的编程语言,理解C++首先需要明白类(Class)与对象(Object)这两个概念。在C++中,类可以被看作是C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含不同类型的成员变量。通过结构体定义的变量称为结构体变量,具有相同的性质。例如:运行结果:小明的年龄是15,成绩是...

c++类对象和对象的区别
(1)类和对象是面向对象程序设计中最基础,最重要的两个概念。(2)在面向对象程序设计中,所有操作都是以对象为基础的。(3)程序中的对象 是对 现实对象的抽象。1.2、什么是对象 现实对象包括可感知的物体,以及思维中的概念;例如:汽车客运被看做是一个对象;学校作为一个概念也可以看成一个...

C++类区别:类和对象
类与对象是C++编程中两个核心概念。它们之间的区别常常让人感到困惑。类是对象的蓝图或模板,而对象则是类的实例。例如,我们可以将“汽车”定义为一个类,包含属性如颜色、品牌、速度等,以及方法如启动、加速、刹车等。当我们创建“宝马”、“奔驰”或“奥迪”这些具体的汽车时,我们就是在创建“汽车...

C++类和对象到底是什么意思?
理解C++的类和对象,需要从面向对象编程的基本概念入手。C++中的类(Class)与C语言的结构体(Struct)相似,但功能更加强大。类不仅包含变量,还能包含函数,使成员变量与处理这些变量的函数成为一个整体。如:class Student { ... }。对象(Object)是类的实例化,通过类定义的变量被称为对象。在C++...

C++中所谓的类是什么?(希望大神讲清楚)
C++的类指的就是class, 而struct(结构体)union(联合)都是C语言里的。在C++中, 用 "类" 来描述 "对象", 所谓的"对象"是指现实世界中的一切事物。那么类就可以看做是对相似事物的抽象, 找到这些不同事物间的共同点, 如自行车和摩托车, 首先他们都属于"对象", 并且具有一定得相同点, 和...

学习C++ 丨类(Classes)的定义与实现!C\/C++必学知识点!
类在C++中是一种用于描述“对象”的方式,对象代表现实世界中的事物。类是对相似事物的抽象,找到它们的共同点,如自行车和摩托车,它们都是对象,具有质量、两个轮子等相同点,以及“能够当交通工具”的行为。类是用户自定义的数据类型,包含属性和方法。属性是对象的特性,如姓名、年龄;方法是对象的...

c++里面类到底是个什么东西?它作用是什么?编写类的语言是什么语言?书...
你简单点理解:类就是一种一种的类型。比如水果就是一个类型、车也是一个类型。类就是一类物体的抽象表达,把他们的特点总结出来(属性),他们能做的事总结出来(方法)。其实int,double这些也是类型的一种,只是他们已经被定义好了,而且专用于数据对象。对象就是某一个类里面的一个实体。比如你家的...

相似回答