C++基础 类和对象 17_11_12_晚

来源:互联网 发布:avr 单片机 pdf 编辑:程序博客网 时间:2024/06/02 21:05

类和对象 第一遍

*一 类和对象是什么?*
1类是什么?
类 模板 创建 类是模板用来创建对象
类 数据类型 类是复杂数据类型的声明,不占内存空间

2对象是什么?
对象 变量 类修饰 对象是用类这种数据类型来修饰的一个变量,类似C语言中的int a;

3类的特征:
(1)类 变量 函数 类含有成员变量和成员函数
(2)类 整体 属性 方法 将类看作一个整体的话,类具有属性和方法,属性又名成员变量,方法又名成员函数。

4对象的特征:
(1)对象 数据 对象可由类去修饰,则该对象拥有类的成员变量和成员函数,是一份实实在在的数据,故占内存空间。

5 类与对象的联系:
(1)一对多 模板 一个类可以创建多个对象,每个对象都是类这个数据类型的一个变量,类在这里起创建对象的模板作用
(2)实例化 创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。

6总结:
(1)类 模板 数据类型 ; 变量 函数 ;不占内存 ;
(2)对象 变量 类修饰 ;实实在在的数据 占内存;

二 类怎么定义?
1如图:
类的定义 对象的创建 访问类的成员

2 类是用户自定义的类型,如果程序中要用到类,必须提前说明,或者使用已存在的类(别人写好的类、标准库中的类等),C++语法本身并不提供现成的类的名称、结构和内容。

3 class是 C++ 中新增关键字,专门用来定义类。Student是类的名称;类名的首字母一般大写,以和其他的标识符区分开。{ }内部是类所包含的成员变量和成员函数,它们统称为类的成员(Member);由{ }包围起来的部分有时也称为类体,和函数体的概念类似。public也是 C++ 的新增关键字,它只能用在类的定义中,表示类的成员变量或成员函数具有“公开”的访问权限
注意在类定义最后有一个分号; ,它是类定义的一部分,表示类定义结束了,不能省略。

4 “ 没有创建对象的类是一个不折不扣的空想家,承载不了实际。” 类只是一个模板(Template),编译后不占用内存空间,所以在定义类时不能对成员变量进行初始化,因为没有地方存储数据。只有在创建对象以后才会给成员变量分配内存,这个时候就可以赋值了。

5 类可以理解为一种新的数据类型,该数据类型的名称是 Student。与 char、int、float 等基本数据类型不同的是,Student 是一种复杂数据类型,可以包含基本类型,而且还有很多基本类型中没有的特性,以后大家会见到。

三 怎么创建对象?
(1)前提是要有类 类怎么搞?人家定义好的和自己定义的。

(2) 有了类,就用类去修饰一个变量,这个变量就叫对象,这个过程就叫创建对象。这样,这个对象就具有了类的属性和方法。也可以换句话说:这样,这个对象就可以访问类的成员变量和成员函数。

(3)例子class Student{…};//自定义的类
Student stu;//创建对象stu Student这个类修饰stu 则stu这个对象就具有了类的属性和方法。
stu这个对象的属性是 name age score
访问的话,加上 . 如:stu.name=“…”;

(4)stu 是一个对象,占用内存空间,可以对它的成员变量赋值,也可以读取它的成员变量。但是一开始用关键字class自定义的类就不占用内存空间。

类通常定义在函数外面,当然也可以定义在函数内部,不过很少这样使用。

(待续…)