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

c++类对象和对象的区别,第1张

1.1、类和对象基本概念

(1)类和对象是面向对象程序设计中最基础,最重要的两个概念。

(2)在面向对象程序设计中,所有 *** 作都是以对象为基础的。

(3)程序中的对象 是对 现实对象的抽象

1.2、什么是对象

现实对象包括可感知的物体,以及思维中的概念;

例如:

汽车客运被看做是一个对象;学校作为一个概念也可以看成一个对象;

现实对象

有个特点:属性 和 行为的整体

示例:一辆汽车具有车型、颜色 -》属性

并有启动,转向、刹车等-》行为

程序对象:

属性可以看做为数据;行为可以抽象为函数。

对象是:数据 和 函数 的集合。

对象是:一个完整的个体。

例如:

所有汽车都具有车型,颜色等属性,所有属性的个数相同,所有汽车都具有启动、转向、刹车等行为。

1.3、什么是类?

类:

类是指整个一类实物,一个类定义了一个模板;

类对 数据 以及 处理数据的方式(函数)进行封装;

汽车类:包括(汽车对象1、汽车对象2、汽车对象3)

类 -具体实例-》对象

类《-抽象----对象

类(class):

是将一组对象的 数据结构 和 *** 作相同的部分 抽出来 组成的集合,是 对象 的 共同特征 。

侧重点不同。面向对象的语言是将方法封装后形成CLASS,主体函数侧重的是对象的抽象和实现;

而结构化C侧重的的是方法的抽象和实现。应该说结构化C是面向对象的语言的基础

结构化设计的思路:由上及下,逐级分解,每级求解,最终完成最初要求的功能

面向对象 的思路:先分析问题的本质,问题在现实中是由哪些个体(对象)来共同配合完成要所要求的活动,抽象出所有的对象,每个对象完成自己能做的部份,最终把问题中所有对象组合起来,就完成了所要求的求解。面向对象的思路更符合现实思考问题的思路,更自然。

#include <iostream>

#include <vector>

#include <string>

using namespace std

class Vechile

{

public:

virtual void print(){

cout <<endl

<<"Name: " <<name <<endl

<<"Color: " <<color <<endl

<<"Type: " <<type <<endl

}

virtual void horn() = 0

protected:

string name

string color

string type

}

class Ship : public Vechile

{

public:

Ship( string n, string c, string t ){

name = n

color = c

type = t

}

~Ship(){}

void horn(){

cout <<"Ship~" <<endl

}

}

class Car : public Vechile

{

public:

Car( string n, string c, string t ){

name = n

color = c

type = t

}

~Car(){}

void horn(){

cout <<"Car~" <<endl

}

}

class Truck : public Car

{

public:

Truck( string n, string c, string t ) : Car( n, c, t ){}

~Truck(){}

void horn(){

cout <<"Truck~" <<endl

}

}

int main()

{

vector<Vechile*>vec( 3 )

vec[0] = new Ship( "ship", "white", "123" )

vec[1] = new Car( "car", "black", "456" )

vec[2] = new Truck( "truck", "blue", "789" )

for ( int i = 0i <3i++ )

{

vec[i] ->print()

vec[i] ->horn()

}

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7821634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存