hello world!
分类: C/C++
2011-08-22 08:52:57
类和对像
1、类和对象的关系
类是对象的抽象,而对象是类的具体实例(instance),正好结构体类型和结构体变量的关系一样。在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。
2、声明类类型
声明类的方法是由声明结构体的类型的方法发展而来,例:
class Student //以class开头
{
int num;
char name[20];
char se; //3行数据成员
void display() //成员函数
{
std::cout<<"num:"<
std::cout<<"name:"<
std::cout<<"se:"<
}
};
Student stud1,stud2;
display()做为共用函数部分,一个类仅仅数据部分占内存大小,sizeof(Student)是28,因为对齐机制故不是26。
不能把类中的全部成员与外界隔离,一般把数据隐蔽起来,而把成员函数做为对外的接口
class Student //以class开头 ,声明类类型
{
private: //私有成员,限定符
int num;
char name[20];
char ***; //3行数据成员
public: //公有成员
void display() //成员函数
{
std::cout<<"num:"<
std::cout<<"name:"<
std::cout<<"***:"<<***<
}
};
Student stud1,stud2;
还有一种成员访问限定符protected(受保护的),用protected声明的成员称为受保护的成员,它不能被类外访问(这点与私有成员类似),但可以被派生类的成员函数访问。
用struct声明的类,如果对其成员不作private或public的声明,系统将其默认为public。如果想分别指定私有成员和公用成员,则应用private或public作显式声明。而用class定义的类,如果不作private或public声明,系统将其成员默认为private,在需要时也可以自己用显式声明改变。