使用Qt-creator自动生成一个窗体应用程序时会自动创建一个新的类,我的程序中名为MyDialog,类的定义为: #ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog> namespace Ui { class MyDialog; } class MyDialog : public QDialog { Q_OBJECT public: ); ~MyDialog(); private: Ui::MyDialog *ui; }; #en…
转自:http://www.cnblogs.com/kaituorensheng/p/3477630.html 1. 类成员为const类型 2. 类成员为引用类型 #include <iostream> using namespace std; class A { public: A(int &v) : i(v), p(v), j(v) {} void print_val() { cout << "hello:" << i <<…
1.只能在构造函数初始化列表初始化的成员变量的类型? a.const成员变量 b.引用类型的成员变量 c.static不能在初始化列表中进行初始化 d.类成员变量中有自定义类型的变量最好在初始化列表中进行初始化 2.初始化列表的顺序? 初始化列表的初始化顺序是依据类成员变量定义的顺序来决定的. 3.关于static const是否应该在初始化成员列表中初始化? static const为全局静态常量,全局的意思是该变量属于整个类而非某个类实例,所以 不能再初始化列表中进行初始化.…
class CExample { public: int a; float b; //构造函数初始化列表 CExample(): a(),b(8.8) {} //构造函数内部赋值 CExample() { a=; //使用这种方式,a在赋值前已经构造好了. b=8.8; } }; 上面的例子中两个构造函数的结果是一样的.上面的构造函数(使用初始化列表的构造函数)显式的初始化类的成员:而没使用初始化列表的构造函数是对类的成员赋值,并没有进行显式的初始化. 初始化和赋值对内置类型的成员没有什么大的区…
c++中以下几种情况的变量的初始化不可以写在构造函数里,而是要写在初始化参数列表中 1.const常量 class AA { public : const int num; public : AA():num(123)//在初始化列表里初始化const常量 { } }; int main() { AA aa; cout<<aa.num<<endl; return 0; } 2.引用 class AA { public : int &num: int b; public :…
以下三种情况下需要使用初始化成员列表: 一,需要初始化的数据成员是对象的情况: 二,需要初始化const修饰的类成员: 三,需要初始化引用成员数据: 原因: C++可以定义引用类型的成员变量,引用类型的成员变量必须在构造函数的初始化列表中进行初始化.对于类成员是const修饰,或是引用类型的情况,是不允许赋值操作的,(显然嘛,const就是防止被错误赋值的,引用类型必须定义赋值在一起),因此只能用初始化列表对齐进行初始化.成员类型是没有默认构造函数的类.若没有提供显示初始化式,则编译器隐式使用成…
例题来看:请问下面程序打印出的结果是什么? #include <iostream> #include <string> using namespace std; class base { private: int m_i; int m_j; public: base(int i):m_j(i),m_i(m_j); ),m_i(m_j){} int get_i() {return m_i;} int get_j() {return m_j;} }; int main(int argc…
1.window live write 插件:http://www.cnblogs.com/liuxianan/archive/2013/04/13/3018732.html 2.推荐代码高亮插件:WindowsLiveWriter.CNBlogs.CodeHighlighter 3.构造函数只能用初始化成员列表方式的例子 #include<iostream> class CMember { public: CMember(int x) {} }; class CMyClass { publi…
转载至:https://blog.csdn.net/zlintokyo/article/details/6524185 C++初始化成员列表和新机制初始化表达式列表有几种用法: 1.如果类存在继承关系,派生类必须在其初始化列表里面调用基类的构造函数来初始化继承的基类成员. 2.类的const成员变量只能在成员初始化列表中进行初始化,因为它不能在函数体内用赋值的方式来初始化. 3.类的数据成员的初始化可以采用初始化列表或者函数体内赋值两种,这两种方式效率不完全相同.非内部数据类型最好采用初始化列表…
说明:如果看不懂的童鞋,可以直接跳到最后看总结,再回头看上文内容,如有不对,请指出~ 环境:visual studio 2013(编译器优化关闭) 源代码 下面的源代码修改自http://blog.csdn.net/ljianhui/article/details/9245661 #include <iostream> #include <cstring> using namespace std; class ClassTest { public: ClassTest() { c[…