类的定义
class className
{
// 类体:由函数和变量组成
}; // 一定要注意后面的分号
class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意 类定义结束时后面分号。类中的元素称为类的成员;类中的数据称为类的属性或者类的成员变量;类中的函数称为类的方法或者类的成员函数
类的定义通常有两种方式:
a. 类的声明和定义全部放在类体中
b. 类的声明放在.h文件中,类的定义放在.cpp文件中
C语言和C++中struct的区别?
c++中可放函数,c语言中不可
定义变量不一样 例如:c struct student s1 c++ student s1
c语言中s1一般称之为结构体变量, c++中s1一般称之为实体,对象
C++中struct和class的区别?
用struct来定义类,默认权限为public
用class来定义类,默认权限为private
类的访问限定符有:public(公有)protected(保护)private(私有)
1. public成员在类外可以直接访问
2. protected和private成员在类外(在此可将protected和private 理解成private)不能够访问
3. 它们的作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
4. class的默认访问权限是private,而struct为public型(因为 struct要兼容C)
那我们要如何在类外访问一个类中私有的成员变量?
void SetAge(int age)//可以在类里写一个公有的方法
{
_age=age;
}
s3.SetAge(10);//在类外来调用
类对象模型:类中各成员在内存中的布局形式
用类类型创建对象的过程,称为类的实例化。
类是抽象的,不占用内存。对象是具体的,占用存储空间。
问题:
如何计算一个类的大小?
c++编译系统为了节约存储空间,每个对象所占的存储空间只是该对象的数据成员所占用的存储空间,而不包括函数代码所占用的存储空间。因此一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关。那这里又产生了一个问题,不同的对象使用同一函数代码段时,它怎么能够分别对不同对象中的数据进行操作呢?c++专门为此设立了一个名为this的指针。关于this指针,请听下回分解。
版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:类和对象小结 作者:jennifer1_