1, 类和对象如何区分??异同点呢??
2, 什么是组合类,它的初始化过程呢??
3, 私有成员变量可以被对象访问吗??
4, 派生类呢??它的初始化过程呢??加入基类中带有构造函数呢??
关于类和对象,我们先来说一说:
类:简单的来讲就是有自己的属性和操作方法(行为),是一个抽象的概念,不存在于现实的时间和空间里,只是为所有的对象定义了抽象的属性与行为,如同:动物anmial是一个类,可以包含很多的个体,但就是不存在于这个世界,这是一个静态的概念,本身不携带任何数据
对象:是一个具体的,实实在在的东西,是一个动态的概念,是占用存储空间的,是一个事物,比如动物anmial类中的狗就是一个对象
异同:类是对象的抽象,对象是类的具体实例,类是抽象的,不占存储空间,对象是具体的,占用内存空间
类:动物 对象:狗
对于C++:
1. C++中的结构不仅可以包含不同类型的数据,而且还可以包含函数。
2. 结构中的数据和函数都是结构的成员,分别称为数据成员和函数成员(C++中,也称函数为成员函数,称变量为 成员变量)
3. C++类的成员函数描述了对类对象内部数据的操作方法,或者说,描述了对象的行为,因此,又将成员函数称为方法(method)或者服务(service)
4. 定义一个类的多个对象时,每一个对象拥有自己的数据成员,称为实例变量,它们各自占据不同的内存空间,但他们共用一份成员函数,这是因为同一个类的成员函数的代码是相同的,共用一份成员函数可以节省内存空间。在内存中对象的实例变量和成员函数是分开存放的,我们的成员函数通过隐藏的this指针(C++编译器自己加的)指向不同的对象来决定使用哪一个对象的数据成员
5. 类的成员变量和成员函数构成了类的接口,成员函数的定义部分称为类的实现(个人理解)
对于私有成员变量:
这意味着这些变量只能被当前类中的其他成员函数访问,外界不能访问(即为封装),不能被对象直接访问,不然可能会产生非法访问,但是如果我们把变量用public声明,那么成员函数和对象都是可以访问的,
C++规定,默认的情况下,类中的成员(数据成员,函数成员)是私有的
类的声明和定义
准确的说法是:
类的声明&