一、
1、输出:cout<<"Hello,你好"<<endl;表示将”Hello,你好“写进输出,后面endl追加。
输入:cin>>num;表示将键盘的写入num。注意:这里和c语言的scanf写入取地址的变量有所区别,c++更注重代码的书写,而不是c语言的过程。
2、头文件:c++中调用c语言中的头文件可以用老式的.h和新式的c+后缀。
3、命名空间(解决同名的一系列数据结构):namespace,通过::引用。注意:1、只能在全局范围内定义,2、可以嵌套,
4、无名命名空间:只能在对于的cpp文件中使用。
5、命名空间别名,
6、using +命名空间:表示先引用using所修饰的命名空间中的变量或函数。(有了using,直接调用,不用::命名空间名)
二、
运算符:
1、作用域运算符(::)c++中可以定义同名变量,如同名全局变量和同名局部变量,使用就近原则,作用域运算符指定全局变量。
三、
1、const关键字:在c中修饰只读变量,变量作为全局变量时内存分配空间在文字常量区,作为局部变量时内存空间在栈区,通过地址可改变值。
在c++中const在内部连接(只能访问本身文件),通过extern改变成可以外部访问。const在局部变量时,如果没有分配内存空间,相当于#define分配到符号表中,如果const修饰的变量分配了内存空间,则可以访问有地址内存空间的变量。(相对于分成两部分,一个符号表,一个内存空间)
四、
1、引用:引用是一个已有变量名存在内存空间的数据,通过引用使这个数据又有了一个变量名,操作其中任意一个变量名都对于这个数据。形式:
int num=10;
int &a=num;//引用定义
2、引用函数形参:c中当使用交换函数时,直接将交换的数传给函数,只传了值,函数里的形参和交换的不是同一个变量,并未完成交换。
c中用指针交换时,交换的是变量的地址,可以直接改变要交换的变量
c++中用引用来交换变量,通过把形参定义成引用变量名,传入变量即可交换完成。
3、引用作为函数的返回值:引用返回值为右值,返回的变量作为右值赋给新定义的引用,新的引用是返回变量的别名,
引用返回值为左值,此函数式子为别名,左边可给返回值赋值。
五、
类:
1、类的封装:包括两个整体,一个是属性(变量)和方法(函数)为一个整体,一个是权限(私有和公共)。
2、类的函数定义:可以在类的内部声明,在类的外部定义。在头文件中声明,在.cpp中定义。
3、类的构造函数与析构函数:构造函数是对类进行一些初始化,析构函数是类的对象结束时对类晚餐清理工作(对类进行实例化,编译器都会自动调用)。
4、构造与析构函数的初始:构造函数的函数名和类名相同,没有返回值,连void也没有,有参数。(可以重载)析构函数的函数名是~类名,返回值和构造函数一样,没有参数。(不可重载)
六、
1、函数重载:一个函数名在不同偿还由不太地含义。条件:在同一作用域,函数参数个数,类型,顺序不同。
2、构造函数的分类:有参构造函数和无参构造函数,普通构造函数和拷贝构造函数。
3、继承与派生:继承是儿子类继承父类,派生是父类派生儿子类。
4、this指针:类的变量和函数虽然在类中捆绑声明,但在内存中是分开储存的,变量存在栈区,函数存在代码区。在调用实例化对象中的函数时,此时this指针指向这个对象。定义同类不同对象,他们用的占空间不同。
5、new 和delete:动态分配内存。相比c中的malloc,malloc不能调用构造函数和析构函数。new是申请空间并调用构造函数,delete先调用析构函数,在释放空间。
6、对象树:在创建控件对象时可以提供一个父对象,这个父对象析构时,父对象下面的子对象也被析构。(表示继承中的父类)
7、qt中的信号和槽:信号:控件发出的动作(单击),槽函数:通过接收控件发出的信号执行相应的操作。(connect连接,connect有两种表达方式)
七、
Lambda:形式:[函数对象参数 ] (函数参数 )mutable ->返回值(函数体)。
八、
1、菜单栏、工具栏、状态栏。
2、资源文件的添加、
3、创建ui文件:和没有ui文件比起,在ui图像界面创造的控件相当于用new创造的,且在ui中,用->访问。
4、对话框