zoukankan      html  css  js  c++  java
  • c++ 类总结 集锦

    class Screen{
    public:
    void home(){_cursor = 0;}
    private:
    int _cursor;
    }

    虽然每个类对象都有自己的类数据成员拷贝。但是每个类成员函数的拷贝“只有一份”!
    例如:
    Screen myScreen, groupScreen;
    myScreen.home();
    groupScreen.home();
    其中myScreen, groupScreen调用home()时,调用的是同一个函数home()!
    ---------------------------------------------------------------------------
    对于“成员函数”而言,const类对象只能调用const成员函数,(一般const成员函数不能修改类对象的数据成员,但当类对象的数据成员中包含指针时,const成员函数可以修改此指针所指的内容,而指针本身没有改变)。
    /*若要想const成员函数修改const类对象的数据成员,可以将数据成员声明为mutable(易变的)*/
    const成员函数可以被相同参数表的非const成员函数重载:
    例如:
    class MyScreen{
    public
    char get(int x, int y);
    char get(int x, int y) const;
    }
    此时两个get为函数重载。
    一个const类对象“从构造完成时到析构开始时刻”这段时间内被认为是const!
    ---------------------------------------------------------------------------
    在类定义中用到的名字必须在使用前首先被声明,这个规则有两种例外的情况。
    1、对于被用在inline成员函数定义中的名字
    2、对于被用作缺省实参的名字
    此两种情况都是“在类的完整域中”被解析,不分先后顺序!
    ---------------------------------------------------------------------------
    类的设计中:
    缺省的构造函数是必要的,因为在定义类数组时,需要缺省的构造函数!
    ---------------------------------------------------------------------------
    构造函数调用的顺序:
    1、基类构造函数
    2、成员类对象构造函数
    3、派生类构造函数
    ---------------------------------------------------------------------------
    基类为:Query
    派生类为:NameQuery
    Query query;
    NameQuery nq( "lila" );
    query = nq;//nq被切割成一个Query对象
    因此,只有在通过基类指针或引用间接窒息那个派生类子类型时,多态性才起作用!
  • 相关阅读:
    变量在原型链中的查找顺序
    new 运算符干了什么
    一道关于变量升级问题的题目
    【c#.Net】c#.Net基础入门(数组和循环)
    【C#.Net】c#.Net基础入门(运算符和分支结构)
    【Python】【Django】查询所有学生信息
    【Python】【Django】admin后台管理类操作数据库
    【Python】【Django】用户注册功能
    【Python】【Django】PythonWeb框架基本知识
    【转】【接口测试】接口测试与postman
  • 原文地址:https://www.cnblogs.com/handongdong/p/2223857.html
Copyright © 2011-2022 走看看