-
拷贝构造函数不能重载,想想重载函数的定义即可。查看全部
-
拷贝构造函数定义方法(构造函数前面不用定义函数类型) Teacher(const Teacher &name);查看全部
-
构造函数分为:无参构造函数和有参构造函数。无参构造函数成为默认构造函数。 有参构造函数分为有默认值的和无默认值的。如果所有都有默认值,则也为默认构造函数。 系统自动生成的构造函数分为普通构造函数和拷贝构造函数。当通过初始化或赋值来实例化一个对象的时候,调用的是拷贝构造函数。而非普通构造函数。查看全部
-
数组对象访问成员对象查看全部
-
从堆实例化对象,定义指针要用类名,最后必须要释放指针查看全部
-
初始化列表:1.只能用于构造函数2.先于构造函数执行3.可以初始化多个参数。4.速度快。<br> 例子:<br> class Teacher<br> {<br> public: Teacher()::m_strName("wang"),m_iAge(13){}<br> private: string m_strName; int m_iAge; };查看全部
-
构造函数的目的:对刚刚定义的变量进行预处理;且在定义变量的时候构造函数会自动运行。查看全部
-
构造函数规则 1.函数名和类名相同。 2.没有返回值 3.可以重载,只能用到一个构造函数。查看全部
-
包含自定义头文件 #include "Techer.h"查看全部
-
析构函数用来归还系统的资源,析构函数不允许存在任何参数。 如果没有自定义的析构函数则系统也会生成一个默认的析构函数。析构函数不能重载。查看全部
-
初始化列表特性:初始化列表先于构造函数执行;初始化列表只能用于构造函数;初始化列表可以同时初始化多个数据成员。<br> 初始化列表的必要性: class Circle { public: Circle():m_dPi(3.14){} private: const double m_dPi; }; 若构造函数改成:Circle(){m_dPi=3.14;}则是错误的。查看全部
-
书写代码时一定要注意所定义的变量或类等的名字,一定不能写错,类外定义的成员函数不要忘了数据类型或属性类查看全部
-
string赋值查看全部
-
类的定义分为类内定义和类外定义。<br> 1.类内定义:成员函数的所有语句都在类的内部。例如。<br> class Car<br> {<br> void speed(){}<br> void change(){}<br> };<br> 2.类外定义:分为同文件类外定义和分文件类外定义。<br> 同文件类外定义:成员函数的函数体在类的外面,且在同一个.h文件下面。例如。<br> class Car <br> {<br> void speed();<br> void change();<br> };<br> Car::speed() {}<br> Car::change(){}<br> 在类的外面加 类名+双冒号+函数体。<br> 分文件类外定义:定义的类在另一个.h文件下,且只在.h文件下声明了成员函数的存在,没有给出具体的函数体,在本文件操作时,include这个.h文件后,在本文件写函数的函数体。例如<br> Car.h 下包含 <br> class Car<br> {<br> public:<br> void speed();<br> void change();<br> };<br> 在另一个文件中 <br> #include "Car.h"<br> Car::speed() {}<br> Car::change() {}查看全部
-
1.内存分区:栈区(内存由系统来进行控制,无论是分配还是回收都不需要程序员来关心)、堆区(需要程序员来操心和管理的)、全局区、常量区、代码区(则是存储编译之后的二进制代码) 2.对象的初始化分为有且仅有一次的(重点)和根据条件初始化的 构造函数的规则和特点:构造函数可以有多个重载形式;实例化对象时仅用到一个构造函数;当用户没有定义构造函数时,编译器自动生成一个构造函数。查看全部
举报
0/150
提交
取消