-
初始化函数时的未初始化或者重复初始化会造成代码严重错误 构造函数 1.在对象实例化时自动被调用 2.构造函数与类同名 3.构造函数没有返回值 4.可以有多个重载 5.实例化对象时仅用到一个构造函数 6.用户没有定义构造函数时,编译器自动生成一个构造函数查看全部
-
内存分区: 栈区:int x = 0;int *p = NULL; 堆区:int *p = new int[20]; 全局区:查看全部
-
类 成员函数 数据成员 数据成员 普通数据成员 string const成员 对象成员 静态数据成员 成员函数( 属性封装函数 特殊函数(构造函数(拷贝构造函数 默认构造函数)析构函数) 一般功能函数) 成员函数 引用 const 参数默认值 函数重载 对象实例化 堆中实例化 栈中实例化查看全部
-
栈、堆中都能调用析构函数查看全部
-
*定义格式:~类名() 构造函数:出生--析构函数:死亡 对象的生命历程 申请内存—初始化列表-构造函数-参与运算-析构函数-释放内存 析构函数 ( 在对象销毁时,自动调用,归还系统资源 定义格式:~类名() ) 如果没有自定义,系统自动生成 析构函数在对象销毁时自动调用 析构函数没有返回值、没有参数也不能重载查看全部
-
拷贝构造函数的参数是确定的,不能重载 当没有自定义的拷贝构造函数时,系统自动生成一个拷贝构造函数 通过同类型的对象实例化另外的对象时,自动调用拷贝构造函数 拷贝构造函数没有返回值查看全部
-
实例化对象时一定要调用构造函数,如果没有编写,则调用系统自动生成的构造函数。 拷贝构造函数:定义格式:类名(const 类名&变量名) 如果没有自定义拷贝构造函数则系统自动生成一个默认的拷贝构造函数查看全部
-
一个类可以没有默认构造函数,有别的构造函数也可以实例化对查看全部
-
命名规则中的m是指member查看全部
-
封装成员函数步骤: 1、先写关键字pullic,private; 2、然后在private中定义全部成员。//加上类型符号string或者int之类的识别符,记得加头文件#include. 3、再写public中罗列所有声明的成员函数: void setName(string name); string getName(); ..... 4、开始内外定义: void "类"::setName(string name) { //把priavte的成员逐个写进去//"成员" = "_同等成员名称" } string "上述成员"::getName() { return "上述成员";//用来实现 } 5、在主函数中使用,实例化对象。 声明一下成员对象的首地址,如: Teacher t;// t关键字入口 通过"."访问 关键字.对象(初始化);如:t.setName("孔子"); ....//所有数据 6、输出所有成员//cout<<"成员"<<....<<endl; 7、开始调试查看全部
-
类内定义和类外定义。 类内定义:在类中的成员变量的函数,直接在类中定义了。在之后直接引用类中定义的函数。 类外定义: 1,同文件类外定义:在类中定义成员变量,再同一个代码文件中,定义类的代码下直接引用上面的定义构成函数,在类的外面,但是在同一个文件下。 2,分文件类外定义:在一个代码文件中,定义一个类,并且在类中定义好成员变量的函数。在另外一个代码文件里,在头文件中加入#include xxx(之前定义的含有成员变量的类的文件名),然后就可以在这个新的代码中,直接引用之前的定义好的类中的成员变量函数。查看全部
-
本节课很重要查看全部
-
本节是个重点,需要仔细学习查看全部
-
实例化:从栈中实例化,从堆中实例化查看全部
-
初始化列表 Student():m_strName("jim"),m_iAge(10){} 特性: 1.初始化列表先于构造函数执行 2.初始化列表只能用于构造函数 3.初始化列表可以同时初始化多个数据成员查看全部
举报
0/150
提交
取消