zoukankan      html  css  js  c++  java
  • 三:类和对象

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

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

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

  • 相关阅读:
    【Linux命令】mysql数据库常用操作命令
    【Linux命令】Ubuntu14.04+QT5.2配置mysql
    【Linux命令】数据库mysql配置命令
    【Linux命令】杀死僵尸程序
    【Linux命令】配置ssh远程连接步骤
    【QT相关】对话框相关
    【QT相关】Image Viewer Example
    【QT相关】Qt Widgets Module
    【QT相关】类头文件解读、QT编辑模式、读取text文本
    【QT相关】QT+opencv环境配置
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/12831574.html
Copyright © 2011-2022 走看看