类的概念
类是一种复杂的数据类型,它是将成员变量成员函数)封装在一起的集合体。这与C语言中的结构体相似
对象的概念
对象指的是类的实例。将对象作为程序的基本单元,将数据和程序封装在一起,以提高软件的重用性、灵活性、和扩展性
面向对象的三大特性
封装性、继承性、多态性
访问限定符
1. public成员可从类外部直接访问,private/protected成员不能从类外部直接访问。
2. protected限定的函数和数据,只有继承者和受保护的成员可以使用
3. private限定的函数和数据,只有该成员可以使用。
注意:
1)每个限定符在类体中可使用多次,它的作用域是从该限定符出现开始到下一个限定符之前或到类体结束前。
2)类体如果没有定义限定符,则默认为私有的。
3)类的访问限定符体现了面向对象的封装性。
类的作用域
a.每个类都定义了自己的作用域,类的成员(成员函数和成员变量)都在类的这个作用域内,成员函数内可任意访问成员变量和其他成员函数。
b.对象可以通过直接访问公有成员,指向对象的指针通过箭头“->”也可以直接访问对象的公有成员。
c.在类体外定义成员,需要使用作用域解析符指明成员属于哪个类域。
示例代码:
class Man //person为类名
{
public: //public为访问限定符
//—_name和_age是成员变量
char *_name;
int _age;
public:
void Display()// 成员函数
{
cout << _name << "-" << _sex << "-" << _age << endl;
};
};
//类外定义成员函数
class Person //person为类名
{
public:
char *_name;
char *_sex;
int _age;
public:
void Display();// 成员函数
};
void Person::Display()
{
cout << _name << " - " << _sex << " - " << _age << endl;
};
类的实例化对象
1、类就像是一个模型,限定了里面的成员,但是并没有被分配实际的内存空间,所以它不能被赋值。
2、一个类可以实例化出多个对象,这些对象将被分配实际的内存空间。
(以后补充结构体内存对齐的知识)