-
构造函数的默认值不能随便的给,不然有可能会造成系统无法进行正确的编译,不知道该调用哪一个函数查看全部
-
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。 区分: 栈 在使用完后系统会自动清除 堆 在使用后必须用delete手动清除查看全部
-
堆中对象销毁时,析构函数被自动调用 如果没有自定义的析构函数则系统产生一个析构函数 析构函数没有参数,也没有返回值 栈中对象销毁时,也自动调用析构函数查看全部
-
类名+对象名或对象数组名[任意自然数]查看全部
-
为了区分类中希望暴露和隐藏的信息(属性和方法)查看全部
-
析构函数<br> 定义格式: ~类名() // 没有参数;<br> 析构函数的唯一功能:释放资源。<br> 析构函数的特性:<br> 析构函数 定义格式: ~类名() // 没有参数; 析构函数的唯一功能:释放资源。 析构函数的特性: 1 如果没有自定义的析构函数则系统自动生成 2 析构函数在对象销毁时自动调用 3 析构函数没有返回值、没有参数也不能重载查看全部
-
1 拷贝构造函数的参数是确定的,不能重载 2 当没有自定义的拷贝构造函数时,系统自动生成一个拷贝构造函数 3 通过同类型的对象实例化另外的对象时,自动调用拷贝构造函数 4 拷贝构造函数没有返回值查看全部
-
#include <string> #include <iostream> using namespace std; class Teacher { public: Teacher(string name = "Jim",int age=1); Teacher(const Teacher &tea); void setName(string _name); string getName(); void setAge(int _age); int getAge(); private: string m_strName; int m_iAge; }; #include "Teacher.h" #include <iostream> using namespace std; Teacher::Teacher(string name,int age):m_strName(name),m_iAge(age) { cout <<"Teacher(string name,int age)" <<endl; } Teacher::Teacher(const Teacher &tea) { cout <<"Teacher(const Teacher &tea)" <<endl; } void Teacher::setName(string _name) { m_strName=_name; } string Teacher::getName() { return m_strName; } void Teacher::setAge(int _age) { m_iAge=_age; } int Teacher::getAge() { return m_iAge; } #include <string> #include <iostream> #include "Teacher.h" #include<stdlib.h> using namespace std; void test(Teacher t) { } int main() { Teacher t1; test(t1); system("pause"); return 0; }查看全部
-
内存分为五个区:栈区,堆区,全局区,常量区,代码区查看全部
-
内存分区查看全部
-
申请了内存一定要记得释放内存,delete p,delete [] p查看全部
-
你可以吧string理解为一个类,string name则相当于定义了一个string类对象,empty()函数则是string类的成员函数,函数的返回值类型为bool型。所以name.empty()相当于类的对象调用类的成员函数。查看全部
-
返回值和名字之间加上类名和两个冒号查看全部
-
类内定义的函数计算机首先作为内联函数去编译,类内定义的函数复杂时才作为普通函数去编译 同文件类外定义:函数名写在类内,具体实现写在类外,并且在一个文件中。(游击队) 分文件类外定义:需要定义一个头文件,头文件名和类名建议一致。在其他文件中使用此类时,需要加上头文件。(正规军)查看全部
-
public private查看全部
举报
0/150
提交
取消