C++基础(三)

来源:互联网 发布:java实现多张图片上传 编辑:程序博客网 时间:2024/06/03 20:24

一、类的声明和类的定义的区别
类的声明: class Screen;
没有定义类就不能定义该类的对象,因为类类型的大小不知道,但是可以声明指向该类类型的指针或引用
只有看到了一个类的定义,才能把一个数据成员声明成该类的对象。如果没有该类的定义,数据成员只能是该类的指针或引用
一个类不能有自身类型的数据成员,但是,但一个类头被看到时,它就相当于已经声明过了,所以一个类可以用指向自身类型的指针或引用作为数据成员
二、对象的定义
先定义类类型,然后再定义对象
class 类名 对象名,如class Student stud1,stud2;
类名 对象名,如 Student stud1,stud2; //常用
在定义类类型的同时定义对象,在小型程序或所声明的类只用于本程序可以用此种方法
不出现类名直接定义对象
三、成员函数的存储方式
类的定义,不会引起内存分配;用类去定义一个对象时系统会为每一个对象分配存储空间
每个对象所占用的空间只是该对象的数据部分所占用的存储空间,所有对象的成员函数对应同一个函数代码段
虽然调用不同对象的成员函数时都是执行的同一段函数代码,但是执行结果是不同的
不同对象使用同一段函数代码,靠this指针对不同对象中的数据进行操作
不论成员函数是在类内还是在类外定义,成员函数代码的存储方式相同
不要将成员函数的存储方式和inline函数的概念混淆
四、类的声明和类的定义的区别
类的声明: class Screen;
没有定义类就不能定义该类的对象,因为类类型的大小不知道,但是可以声明指向该类类型的指针或引用
只有看到了一个类的定义,才能把一个数据成员声明成该类的对象。如果没有该类的定义,数据成员只能是该类的指针或引用
一个类不能有自身类型的数据成员,但是,但一个类头被看到时,它就相当于已经声明过了,所以一个类可以用指向自身类型的指针或引用作为数据成员

0 0