• 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对象
    因此,只有在通过基类指针或引用间接窒息那个派生类子类型时,多态性才起作用!
  • 相关阅读:
    IDEA tomcat热部署方法及乱码问题解决
    访问WEB-INF下JSP资源的几种方式(转)
    SpringMVC 静态资源处理
    SpringMVC中的拦截器
    SpringMVC中的异常处理
    SpringMVC实现文件上传
    IDEA 热部署
    响应数据和结果视图
    SpringMVC中的常用注解
    js获取当前根目录的方法
  • 原文地址:https://www.cnblogs.com/handongdong/p/2223857.html
Copyright © 2020-2023  润新知