• 类与对象


    一、C++中的类

    C++中的类,将数据和操纵数据的方法组合成一个整洁的包。

    类规范包括两个部分组成:

    类声明:以数据成员方式描述数据部分,以成员函数(方法)的方式描述公有接口。

    类方法定义:描述如何实现类成员函数

    通常,程序员将接口(类定义)放在头文件中,并将实现放在源代码中。

    内联函数

    定义位于类声明中的函数都将自动成为内联函数、

    也可以在类声明之外定义成员函数,并使之成为内联函数。

    为此,只需在类实现部分中定义函数时使用inline限定符即可。

     

    #include<iostram>
    using namespace std;
    class Stock
    {
        private:
            void set_tot();
        
    }
    iniline void Stock::set_tot()
    {
        
    }

    内存分配

    每个对象都有自己的存储空间,用于存储其内部的变量和类成员;

    但同一个类的所有对象共享同一类方法,即类方法只有一个副本。

    构造函数

    每次创建类对象(甚至使用new动态分贝内存)时,C++都使用类构造函数。

    如:Stock *pstock=new Stock("Furry",20);

    这条语句创建一个Stock类对象,将其初始化为参数提供的值,并将该对象地址赋值给pstock指针

    这种情况下,对象没有名称,但可以用指针来管理对象。

    析构函数

    用构造函数创建对象后,程序负责跟踪该对象,直到其过期为止。

    对象过期时,程序将自动调用析构函数。

    何时释放析构函数?

    如果创建的是静态存储对象,其析构函数将在程序结束时被自动调用

    如果创建的是自动存储类对象,则其析构函数将在程序执行完代码块时自动被调用。

    如果对象是通过New创建的,则他将驻留在栈内存或自用存储区中,直到使用delete释放

    this指针

    每个成员函数(包括构造和析构)都有一个this指针。this指针指向调用对象。

    如果方法要引用整个调用对象,可以使用表达式*this。

    在函数的括号后面使用const限定符将this限定为const,这样将不能使用this来修改对象的值。

    对象数组

    对象数组的声明方法与标准类型的声明方法相同。

    Stock mystff[4];

    当程序创建未被显式初始化的类对象时,总是调用默认构造函数。

    可以用构造函数来初始化数组,在这种情况下,必须为每个元素调用构造函数。

    如果类包含多个构造函数,则可以对不同的元素使用不同的构造函数。

    初始化对象数组的方案是:

    首先使用默认构造函数创建数组元素,然后花括号中的构造函数将创建临时对象,

    然后将临时对象的内容复制到相应的元素中。

    因此,要创建类对象数组,则这个类必须有默认构造函数。

    类作用域

    在类中定义的名称(数据成员名和类成员函数名)的作用域都为整个类,只在该类中是已知,类外不可知。

    抽象数据类型

    运算符重载限制

    1.重载后的运算符必须至少有一个操作数是用户定义的类型,防止用户为标准类型重载运算符。

    2.使用运算符时不能违反运算符原来的句法规则。

    3.不能创建新运算符。

    4.不能重载下面的运算符

      (sizeof),( . ),(.*),(?:),(typeid),(const_cast),(dyanmic_csast),(reinterpret_cast),(staci_cast)

    5.大多数运算符都可以通过成员或非成员函数进行重载,但下面的运算符只能通过成员函数进行重载。

     =:赋值运算符

     ():函数调用元素安抚

     []:下标运算符

     ->:通过指针访问类成员的运算符

     

     

     

  • 相关阅读:
    bug管理工具之禅道的测试模块的使用
    bug优先级别
    Python ——报错集锦
    Python 中if __name__ == '__main__': 的作用和原理
    selenium驱动程序下载和使用流程
    Python介绍及环境搭建
    自动化测试基础篇--Selenium发送测试报告邮件
    自动化测试基础篇--Selenium cookie操作
    自动化测试基础篇--Selenium等待时间
    批量建库脚本
  • 原文地址:https://www.cnblogs.com/zuoyou151/p/10844609.html
Copyright © 2020-2023  润新知