1:主要介绍类的构成,成员函数,对象的定义和使用,构造函数与析构函数等内容。
2:类的构成:
类名:{
Public:
公有数据成员;
公有成员函数;
Private:
私有数据成员;
私有成员函数;
}
Private:类的私有部分,这一部分的数据成员和成员函数都称为类的私有成员,私有成员只能由本类的成员函数访问,而类外部的任何访问都是非法的,这样私有成员隐藏在类的内部,在外部无法访问。
Protected:保护成员可以由本类的成员函数访问,也可以由本类的派生类的成员函数访问,而类外的任何访问都是非法。
Public:类外可以访问。
3:成员函数的定义
(1)类的成员函数是函数的一种基本的格式与函数一致,成员函数可以访问本类中任何成员(包括公有,私有和保护成员)。
(2)成员函数在类外定义的一般形式是:
返回值类型 类名::成员函数名(参数表)
{
函数体
}
(3)成员函数在类外声明
#include<iostream>
using namespace std;
class Date{
public:
void SetDate( int y ,int m, int d);
void ShowDate();
private:
int year;
int month;
int day;
};
void Date::SetDate( int y ,int m , int d ){
year = y;
month = m;
day = d;
}
void Date::ShowDate(){
cout<<year<<" "<<endl;
cout<<month<<" "<<endl;
cout<<day<<" "<<endl;
}
int main( void )
{
Date date1;
date1.SetDate(2019,10,20);
date1.ShowDate();
}
4: 对象的定义和使用
(1)类和对象的关系
类:类是具有相同属性和行为的事物所构成的集合
对象:类的实例化,类似于 int i,int(数据类型) i(实际的整形变量 )。
(2)类,对象的声明和使用
类名{}; //
类型 对象名1,对象名2;
(3)对象成员的访问
对象名.数据成员,对象名->对象成员
(4)类的作用域和访问属性
Private:类的私有部分,这一部分的数据成员和成员函数都称为类的私有成员,私有成员只能由本类的成员函数访问,而类外部的任何访问都是非法的,这样私有成员隐藏在类的内部,在外部无法访问。
Protected:保护成员可以由本类的成员函数访问,也可以由本类的派生类的成员函数访问,而类外的任何访问都是非法。
Public:类外可以访问。
5:构造函数和析构函数
构造函数和析构函数都是类的成员函数,他们都是特殊的成员函数,执行特殊的功能
(1)对象的初始化和成员函数
构造函数名称必须和类名一致,可以有任意类型的参数,有任何返回值类型,不返回任何数值,他不需要自己调用,创建对象的时候隐式调用。
形式1:类名 对象名(【实参列表】)
形式2 类型 *指针变量名= new 类名(【实参列表】)
Date *date = new Date( 2019,20,10);
(2)用成员初始化列表对数据成员进行初始化
Date::Date( int m, int y, int d):year(y),month(m),day(d)
(3)析构函数
析构函数是一种特殊的成员函数,他在执行的时候与构造函数是相反的操作,通常用于撤销对象时的一些清理工作,如释放分配给对象的内存空间。
析构函数的特点:析构函数与构造函数名字相同,但是前面有一个~好,析构函数没有返回值没有参数不能被重载,因此一个类中只能由一个析构函数,撤销对象的时候会自动调用析构函数。