1.只能在构造函数初始化列表初始化的成员变量的类型? a.const成员变量 b.引用类型的成员变量 c.static不能在初始化列表中进行初始化 d.类成员变量中有自定义类型的变量最好在初始化列表中进行初始化2.初始化列表的顺序? 初始化列表的初始化顺序是依据类成员变量定义的顺序来决定的。3.关于...
分类:
编程语言 时间:
2015-08-30 11:09:47
阅读次数:
128
【摘要】
面向对象主要的知识点有,面向对象的基本概念,结构和类的区分,多态及各种构造函数。要求掌握 1.面向对象的基本原则(封装、继承、多态),面向对象的基本概念(类、对象、继承)。2.类和结构体在访问控制上的差异。3.成员变量在静态成员变量的4个特性、引用成员变量必须采用的初始化方式、静态常量成员变量的初始化特点以及成员变量在初始化列表初始化顺序上的特点。
4. string与stack的...
分类:
编程语言 时间:
2015-08-26 18:01:05
阅读次数:
257
万年历项目:.cpp文件如下#include
using namespace std;
class Date
{
public:
Date(int year = 1900, int month = 1, int day = 1)// 初始化列表进行初始化。
:_year(year),
_month(month),
_day(day)
{
if (Check...
分类:
其他好文 时间:
2015-08-25 21:36:37
阅读次数:
141
class A
{
public:
A()
{
cout << "class A default constructor called" << endl;
a = 0;
}
A(int param)
{
cout << "class A constructor called" << endl;
a = param;
}
~A()
{
}
virtual v...
分类:
编程语言 时间:
2015-08-25 16:45:29
阅读次数:
147
1. Integer a = {new Integer(1),new Integer(2),3,};2.Integer a = new Integer[]{new Integer(1),new Integer(2),3,}注:1和2中初始化列表中最后的逗号都是可选的(可选可不选)。3.Integer...
分类:
编程语言 时间:
2015-08-21 01:49:03
阅读次数:
150
对象初始化列表出现原因
1) 如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果没有初始化列表,那么他将无法完成第一步,就会报错。
2) 当类成员中含有一个const对象时,或者是一个引用时,他们也必须要通过成员初始化列表进行初始化,因为这两种对象要在声明后马上初...
分类:
编程语言 时间:
2015-08-19 20:29:23
阅读次数:
130
本例子说明以下问题:
虚函数的定义,调用(外部函数的指针或引用,成员函数),构造函数和析构函数中调用虚函数,虚析构函数
赋值兼容,构造函数的重载,构造函数的初始化列表
见代码:
#include
using namespace std;
class Base
{
public:
Base():m(1),n(m+1){Display();} //构造函数中调用虚函数时自己...
分类:
其他好文 时间:
2015-08-19 11:12:45
阅读次数:
106
在 派生类的构造函数初始化列表中 调用 父类的带有参数的构造函数,是为了初始化从父类继承来的成员变量。因为这些变量无法直接初始化,只能采用这种方式初始化。而在qt中,MainWindow中的某成员变量(指向父组件的指针,假定为p)无法直接初始化,只能在初始化列表中调用QMainWindow(pare...
分类:
其他好文 时间:
2015-08-19 07:06:05
阅读次数:
190
1. 对于内置类型,如果变量在全局作用域内定义,默认初始化为0,如果变量在局部作用域内定义,默认不进行初始化;对于类类型,默认调用默认构造函数进行初始化,如果没有默认构造函数,则必须显式初始化.2. 构造函数对成员进行初始化的动作发生在初始化列表中而不是函数体内,在函数体内进行的"初始化"实际上是赋...
分类:
编程语言 时间:
2015-08-18 13:47:53
阅读次数:
146