摘要: 一、基本概念: 重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。 class A{ public: void test(int i); void test(double i);//overload vo 阅读全文
posted @ 2020-06-18 16:30 每天都要吃早饭 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 我们说基类的成员函数可以被继承,可以通过派生类的对象访问,但这仅仅指的是普通的成员函数,类的构造函数不能被继承。构造函数不能被继承是有道理的,因为即使继承了,它的名字和派生类的名字也不一样,不能成为派生类的构造函数,当然更不能成为普通的成员函数。在设计派生类时,对继承过来的成员变量的初始化工作也要由 阅读全文
posted @ 2020-06-18 14:30 每天都要吃早饭 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 拷贝构造函数生成新的类对象,而赋值运算符是给已有的对象重新赋值。 由于拷贝构造函数是直接构造一个新的类对象,所以在初始化这个对象之前不用检验源对象是否和新对象相同。而赋值运算符则需要这个操作,另外赋值运算中如果原来的对象中已有内存分配要先把内存释放掉。 *注意:当类中有指针类型的成员变量时,一定要重 阅读全文
posted @ 2020-06-18 10:15 每天都要吃早饭 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 缺省构造函数 缺省拷贝构造函数 缺省析构函数 缺省赋值运算符 缺省取地址运算符 缺省取地址运算符const *注:只有当实际使用这些函数的时候,编译器才会去定义它们。 摘自:https://blog.csdn.net/BostonRayAlen/article/details/93041395 阅读全文
posted @ 2020-06-18 09:58 每天都要吃早饭 阅读(937) 评论(0) 推荐(0) 编辑
摘要: 从静态存储区域分配 内存在程序编译的时候就已经分配好,这块区域在程序的整个运行期间都存在。例如全局变量,static变量等。 在栈上分配 在执行函数时,函数内部定义的局部变量的存储单元都在栈上创建。当函数执行结束时,这些存储单元自动被释放。 从堆上分配 动态分配内存。new/delete 或者mal 阅读全文
posted @ 2020-06-18 09:37 每天都要吃早饭 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 在C中static用来修饰局部静态变量和外部静态变量、函数。在C++中除了上述功能外,还用来定义类的成员变量和函数。即静态成员数据和静态成员函数。 注意:编程时static的记忆性,和全局性的特点可以让在不同时期调用的函数进行通信,传递信息,而C++的静态成员则可以在多个对象实例间进行通信,传递信息 阅读全文
posted @ 2020-06-17 21:17 每天都要吃早饭 阅读(532) 评论(0) 推荐(0) 编辑
摘要: sizeof是一个操作符,strlen是库函数; sizeof的参数可以是数据的类型,也可以是变量,二strlen只能是以‘\0’的字符串做参数。 编译器再编译时就计算出了sizeof的结果,而strlen函数必须再运行时才能计算出来。并且sizeof计算的是数据类型占内存的大小(字节数),而str 阅读全文
posted @ 2020-06-17 20:01 每天都要吃早饭 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 如果某个类实现了多个这个类的对象,那么每一个对象都分别有自己的数据成员,不同对象的数据成员各自有值,互不相干。但是有时人们希望有某一个或几个数据成员为所有对象所共有。这样可以实现数据共享。在前面介绍过全局变量能够实现数据共享。如果在一个程序文件中有多个函数,在每一个函数中都可以改变全局变量的值,全局 阅读全文
posted @ 2020-06-17 19:26 每天都要吃早饭 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 作用:在该成员函数内无法修改数据成员,且不能调用非const成员函数。 const 成员函数的基本定义格式 类内定义 类型 函数名(参数列表)const { 函数体 } 类内声明,类外定义 类内声明:返回类型 函数名(参数列表)const 返回类型 类名::函数名(参数列表)const { 函数体 阅读全文
posted @ 2020-06-17 17:00 每天都要吃早饭 阅读(6386) 评论(0) 推荐(1) 编辑
摘要: 1 #include<iostream> 2 //#include<ostream> 3 //class ostream; 4 class string 5 { 6 public: 7 //constructor 8 string(const char* str=nullptr); 9 //copy 阅读全文
posted @ 2020-06-16 14:59 每天都要吃早饭 阅读(319) 评论(0) 推荐(0) 编辑