c++类对象和对象的区别

c++类对象和对象的区别

1.1、类和对象基本概念
(1)类和对象是面向对象程序设计中最基础,最重要的两个概念。
(2)在面向对象程序设计中,所有操作都是以对象为基础的。
(3)程序中的对象 是对 现实对象的抽象。

1.2、什么是对象
现实对象包括可感知的物体,以及思维中的概念;
例如:
汽车客运被看做是一个对象;学校作为一个概念也可以看成一个对象;

现实对象
有个特点:属性 和 行为的整体
示例:一辆汽车具有车型、颜色 -》属性
并有启动,转向、刹车等-》行为
程序对象:
属性可以看做为数据;行为可以抽象为函数。

对象是:数据 和 函数 的集合。
对象是:一个完整的个体。
例如:
所有汽车都具有车型,颜色等属性,所有属性的个数相同,所有汽车都具有启动、转向、刹车等行为。

1.3、什么是类?
类:
类是指整个一类实物,一个类定义了一个模板;
类对 数据 以及 处理数据的方式(函数)进行封装;

汽车类:包括(汽车对象1、汽车对象2、汽车对象3)
类 -具体实例-》对象
类《-抽象----对象

类(class):
是将一组对象的 数据结构 和 操作相同的部分 抽出来 组成的集合,是 对象 的 共同特征 。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-01
#include <iostream>
#include <string>
using namespace std;

class Student
{
public:
static int number;
string name;

public:
Student()
{
}

void set(string str)
{
name = str;
number++; // 调用静态数据成员
}

void print() // 态成员函数 print()
{
std::cout < < name < <" : The number of the students is " < < number < < " numbers." < < std::endl; // 调用静态数据成员
}
};

int Student::number = 0; // 静态数据成员初始化

int main(int argc, char** argv)
{

Student* s1;
s1 = new Student();
s1->set("111");

Student s2;
s2.set("222");

s1->print();
s2.print();

return 0;
}

对于类student ,定义了一个对象 和一个指针。
类的指针:他是一个内存地址值,他指向内存中存放的类对象(包括一些成员变量所赋的值).
对象,他是利用类的构造函数在内存中分配一块内存(包括一些成员变量所赋的值).
在应用时:
1.引用成员: 对象用" . "操作符; 指针用" -> "操作符.
2.生命期: 若是成员变量,则是类的析构函数来释放空间;若是函数中的临时变量,则作用域是该函数体内.而指针,则需利用delete 在相应的地方释放分配的内存块.
注意:用new ,一定要delete..
类的对象:用的是内存栈,是个局部的临时变量.
类的指针:用的是内存堆,是个永久变量,除非你释放它.

当类是有虚函数的基类,Func是它的一个虚函数,则调用Func时:
类的对象:调用的是它自己的Func;
类的指针:调用的是分配给它空间时那种类的Func;
对于一个类的对象和这个类的指针(用new运算符分配内存)在应用时有何区别
1.类和对象是两回事,对象是类的实例;
2.对象是在栈中分配的,使用new生成的对象是在堆中分配的;
3.要发挥虚函数的强大作用,必须使用指针来访问对象.
指针可以实现多态,直接用对象不行
执行定义对象,在栈空间
new处的在堆
注意名字的类型.
一个是Student
一个是Student*
Student是直接访问一个对象
Student*是间接访问一个对象,因为通过了一个指针作媒介.
类型决定了你能做什么.
其实作用基本一样 都是为了调用类的成员变量 和成员函数用的
当你希望明确使用这个类的时候,最好使用对象,如果你希望使用C++中的动态绑定,则最好使用指针或者引用
指针和引用用起来更灵活,容易实现多态等

类的指针:他是一个内存地址值,他指向内存中存放的类对象(包括一些成员变量所赋的值).
对象,他是利用类的构造函数在内存中分配一块内存(包括一些成员变量所赋的值).
在应用时:
1.引用成员: 对象用" . "操作符; 指针用" -> "操作符.
2.生命期: 若是成员变量,则是类的析构函数来释放空间;若是函数中的临时变量,则作用域是该函数体内.而指针,则需利用delete 在相应的地方释放分配的内存块.
注意:用new 一定要delete..
当类是有虚函数的基类,f是它的一个虚函数,则调用f时:
类的对象:调用的是它自己的f;
类的指针:调用的是分配给它空间时那种类的f;
1.在类的声明尚未完成的情况下,可以声明指向该类的指针,但是不可声明该类的对象...
2.父类的指针可以指向子类的对象..
定义对象实例时,分配了内存。指针变量则未分配类对象所需内存
指针变量是间接访问,但可实现多态(通过父类指针可调用子类对象),并且没有调用构造函数。
直接声明可直接访问,但不能实现多态,声明即调用了构造函数(已分配了内存)。
至于那个效率高要看程序调用过程而定。
C++的精髓之一就是多态性,只有指针或者引用可以达到多态。对象不行
用指针:
第一实现多态。
第二,在函数调用,传指针参数。不管你的对象或结构参数多么庞大,你用指针,传过去的就是4个字节。如果用对象,参数传递占用的资源就太大了
第2个回答  2016-04-17
C语言的变量可以分成两种级别:全局变量和局部变量 全局变量,在该变量之后定义的函数都可以访问 局部变量,只能在定义的函数中访问 而C++中多出了成员变量,成员变量通常是私有。 成员变量依附于对象存在,有了对象,成员变量才有内存 而成员变量的可以被本类的所有成员函数直接访问的。

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

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

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

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

C++类和对象到底是什么意思?
类和对象在C++中起到的作用类似,但类的定义更加灵活,成员变量和函数可以整合在一起,提供更直观的编码体验。类和对象的引入,使得C++成为面向对象的语言。在C++中,类通过关键字`class`定义,而对象则是通过类名创建的实例。对象可以使用类中的成员变量和成员函数,通过点号`.`调用。面向对象编程(...

类和对象的区别和关系是什么?
类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。类与对象的关系就如模具和铸件的关系类的实例化结果就是对象,而对一类对象的抽象就是类,类描述了一组有相同属性和相同方法的对象。

C++类和对象到底是什么意思?
而非速度。面向对象和面向过程并非对立,而是根据项目的规模和需求灵活选择的编程策略。在开发小型游戏时,函数可能就足够;而在复杂项目中,类和对象则是必不可少的伙伴。通过深入理解C++中的类和对象,我们能够更好地驾驭这门强大的编程语言,为我们的软件开发开辟出更为广阔的道路。

在C++编程里面,什么叫做面向对象、类、封装、继承、消息、多态性?请具...
对象就是 生活中的具体的东西(如电视机,飞机,...哎,世界是物质的啊),类就是(东西)的设计图纸或模板,就是画了个图还没开始生产,定义对象是就开始生产对象(东西)了。封装就是找个东西把代码包起来,不让人看到,这是类该干的活啊,如果想看到的话,请开个偷窥孔,public这家伙不地道啊...

什么是类什么是对象
1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。 2)类:具有相同特性(数据元素)和行...

C++中的class和object是什_意思?
object类是面向对象的编程语言的一个类,面向对象总要有能代表所有对象的东西。但Object还是不圆满,就算有了Object类,还是有基本类型无法包括到,c++就没有Object类,虽然有class和typename关键字。类和对象(class)是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类...

相似回答