zoukankan      html  css  js  c++  java
  • c++复习

    1、构造函数不能被声明为虚函数,析构函数可以被声明为虚函数。

    (虚函数的参数类型 顺序 个数必须一样)

    构造函数可以被重载,析构函数不可以被重载。

    2、子对象不可以是自身类的对象。

    因为此使对象所属的类并没有定义好。

    3、这一条来自这个地方

    1)用const修饰定义的对象为常对象

    两种声明方式:

    const point point1(10,10);

    point const point2(10,10);

    2)用const修饰的声明数据成员成为常数据成员

    变量或对象被const修饰后其值不能被更新(除非数据成员被mutable修饰时,用const修饰

    的变量或者对象要进行初始化。

    说明:

    任何函数都不能对常数据成员进行赋值

    构造函数对常数据成员进行初始化时也只能通过初始化列表进行

    常数据成员在定义时必须初始化

    如果类有多个默认构造函数必须都初始化常数据成员

    不能对常数据成员在类中初始化

    3)常成员函数

    const是函数类型的一部分,在实现部分也要带该关键字

    const关键字可以用于对重载函数的区分

    常成员函数不能更新任何数据成员,也不能调用该类中没有用const 修饰的成员函数,

    只能调用常成员函数和常数据成员。

    常成员函数可以被其他成员函数调用

    但是不能调用其他非常成员函数

    可以调用其他常成员函数

    常对象只能调用常成员函数

    常成员函数只能调用其他常成员函数

    4、一个类的友元函数或友元类可以访问该类的所有成员

    5、

    this指针是指向对象的

    this是一个由系统自动生成的指针

    this指针在用对象引用成员函数时系统创建的 

    this指针既可以隐含使用也可以显示使用

    6、

    若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是(    )。

    A.Data operator+(Data); 对的

    B.Data+(Data);

    C.Data+operator(Data);

    D.operator+(Data, (Data);

    7、

    已知:const A a; 其中A是一个类名,指向常对象指针的表示为(    )。

    A.const *pa A;

    B.const * A pa;

    C.const A *pa; 对的

    D.A * const pa;

    8、

    下列关于多继承二义性的描述中,错误的是(    )

    • A.解决二义性的方法是采用类名限定
    • B.基类和派生类中同时出现同名成员时,会产生二义性(选这个)
    • C.一个派生类有多个基类,而这些基类又有一个共同的基类,派生类访问公共基类成员时,可能出现二义性
    • D.一个派生类的多个基类中出现了同名成员时,派生类对同名成员的访问可能出现二义性、、、、

    9、多态调用是指(    )。

    A.借助于指向对象的基类指针或引用调用一个虚函数 √

    B.借助于指向对象的基类指针或引用调用一个纯虚函

    C.以任何方式调用一个纯虚函数

    D.以任何方式调用一个虚函数

    10、基类的子对象不能在派生类的构造函数的参数初始化列表中初始化。

    11、

    虚函数具有继承性

    虚函数是一个成员函数

    在类的继承的层次结构中,虚函数是说明相同的函数

    静态成员函数不可以说明为虚函数

     12、

    下列关于多继承二义性的描述中,错误的是(    )

    A.解决二义性的方法是采用类名限定

     

    B.基类和派生类中同时出现同名成员时,会产生二义性 √

    C.一个派生类有多个基类,而这些基类又有一个共同的基类,派生类访问公共基类成员时,可能出现二义性

    D.一个派生类的多个基类中出现了同名成员时,派生类对同名成员的访问可能出现二义性

    13、必须使用参数初始化表的三种情况:

       情况一、需要初始化的数据成员是对象的情况(这里包含了继承情况下,通过显示调用父类的构造函数对父类数据成员进行初始化); 

       情况二、需要初始化const修饰的类成员或初始化引用成员数据;

       情况三、子类初始化父类的私有成员;

  • 相关阅读:
    CentOS上svn checkout时报错SSL handshake failed: SSL error: Key usage violation in certificate has been det
    SnmpTools配置
    Django下载文件
    Cacti的使用
    RRDtool 安装和使用
    SNMP 安装及使用
    Openstack CentOS6.5 ALL IN ONE 安装
    mysqladmin -u root password
    VS2013打包程序步骤
    python中使用rabbitmq消息中间件
  • 原文地址:https://www.cnblogs.com/zzyh/p/12076082.html
Copyright © 2011-2022 走看看