三:类和对象

1:主要介绍类的构成,成员函数,对象的定义和使用,构造函数与析构函数等内容。

2:类的构成

  Class 类名:{

   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 iint(数据类型) i(实际的整形变量 )。

 

2)类,对象的声明和使用

 Class 类名{}//

 类型 对象名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)析构函数

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

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

posted @ 2020-05-05 17:40  INSTANCE_SELF  阅读(171)  评论(0编辑  收藏  举报