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)析构函数

析构函数是一种特殊的成员函数,他在执行的时候与构造函数是相反的操作,通常用于撤销对象时的一些清理工作,如释放分配给对象的内存空间。

析构函数的特点:析构函数与构造函数名字相同,但是前面有一个~好,析构函数没有返回值没有参数不能被重载,因此一个类中只能由一个析构函数,撤销对象的时候会自动调用析构函数。