自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 构造函数的重载

构造函数的重载和普通成员函数一样,构造函数是允许重载的。一个类可以有多个重载的构造函数,创建对象时根据传递的实参来判断调用哪一个构造函数。构造函数的调用是强制性的,一旦在类中定义了构造函数,那么创建对象时就一定要调用,不调用是错误的。如果有多个重载的构造函数,那么创建对象时提供的实参必须和其中的一个构造函数匹配;反过来说,创建对象时只有一个构造函数会被调用。#include <iostream>using namespace std;class Student{private:

2022-03-30 22:30:50 6641

原创 类之间的关系

类之间的关系类间关系有很多种,在大的类别上可以分为两种:纵向关系、横向关系。纵向关系就是继承关系,它的概念非常明确,也成为面向对象的三个重要特征之一.横向关系较为微妙,按照UML的建议大体上可以分为四种:依赖 (Dependency)关联 (Association)聚合 (Aggregation)组合 (Composition)它们的强弱关系是没有异议的:依赖 < 关联 < 聚合 < 组合然而它们四个之间的差别却又不那么好拿捏,需要好好体会。...

2022-03-29 19:10:18 181

原创 C++静态成员

静态成员变量static 成员变量属于类,不属于某个具体的对象,即使创建多个对象,也只为静态成员变量分配一份内存,所有对象使用的都是这份内存中的数据。当某个对象修改了静态成员变量,也会影响到其他对象。public: static int m_total;静态成员变量静态成员变量在初始化时不能再加 static,但必须要有数据类型。被 private、protected、public 修饰的静态成员变量都可以用这种方式初始化。注意:static 成员变量的内存既不是在声明类时分配,也不是在创..

2022-01-25 14:41:43 129

原创 C++析构函数的执行时机

析构函数的执行时机析构函数在对象被销毁时调用,而对象的销毁时机与它所在的内存区域有关。在所有函数之外创建的对象是全局对象,它和全局变量类似,位于内存分区中的全局数据区,程序在结束执行时会调用这些对象的析构函数。在函数内部创建的对象是局部对象,它和局部变量类似,位于栈区,函数执行结束时会调用这些对象的析构函数。new 创建的对象位于堆区,通过 delete 删除时才会调用析构函数;如果没有 delete,析构函数就不会被执行。#include <iostream>using names

2022-01-21 13:05:16 1356

原创 C++析构函数

创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作,例如释放分配的内存、关闭打开的文件等,这个函数就是析构函数。析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要程序员显式调用(程序员也没法显式调用),而是在销毁对象时自动执行。构造函数的名字和类名相同,而析构函数的名字是在类名前面加一个~符号。注意:析构函数没有参数,不能被重载,因此一个类只能有一个析构函数。如果用户没有定义,编译器会自动生成一个默认的析构函数。#

2022-01-21 13:00:52 81

原创 C++初始化列表注意事项

注意,成员变量的初始化顺序与初始化列表中列出的变量的顺序无关,它只与成员变量在类中声明的顺序有关。

2022-01-21 12:55:09 387

原创 C++构造函数,初始化列表

定义构造函数时并没有在函数体中对成员变量一一赋值,其函数体为空(当然也可以有其他语句),而是在函数首部与函数体之间添加了一个冒号:,后面紧跟m_name(name), m_age(age), m_score(score)语句,这个语句的意思相当于函数体内部的m_name = name; m_age = age; m_score = score;语句,也是赋值的意思。初始化列表可以用于全部成员变量,也可以只用于部分成员变量。下面的示例只对 m_name 使用初始化列表,其他成员变量还是一一赋值:CSt

2022-01-21 12:53:23 139

原创 C++构造函数注意

构造函数必须是 public 属性的,否则创建对象时无法调用。构造函数没有返回值,因为没有变量来接收返回值,即使有也毫无用处,这意味着:不管是声明还是定义,函数名前面都不能出现返回值类型,即使是 void 也不允许;函数体中不能有 return 语句。...

2022-01-21 12:45:55 513

原创 C++访问修饰符

C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。在类的外部(定义类的代码之外),只能通过对象访问成员,并且通过对象只能访问 public 属性的成员,不能访问 private、protected 属

2022-01-21 12:30:02 143

原创 访问修饰符有几种,他们什么区别

三种,public:公共,类外可访问,private:私有,类外不可访问,只有本类可以访问,protected:保护,类外不可访问,派生类可以访问

2022-01-20 13:16:31 545

原创 new 和malloc区别

new 和Malloy的区别:new是操作符,Malloy是函数new可以直接赋值,malloc只能申请空间不可赋值

2022-01-20 13:12:56 147

原创 C++函数重载

函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。注意:同名函数只有参数表不同才能算重载。两个同名函数的参数表相同而返回值类型不同不是重载,而是重复定义,是不允许的。...

2022-01-20 13:03:23 48

原创 C++

函数默认参数C++中允许为函数提供默认参数,又名缺省参数。注意函数声明时,必须按照从右向左的顺序,依次给与默认值。函数的默认参数要在函数声明的时候给出#include using namespace std;void Fun(int a = 100,int b = 200,int c = 300,int d = 400){cout << a << " " << b << " " << c << " " <<

2022-01-20 13:01:07 234

原创 C++动态分配内存空间

动态分配内存空间new和delete运算符是用于动态分配和撤销内存的运算符。new1.开辟单变量地址空间一般使用格式: 格式1:指针变量名=new 类型标识符; 格式2:指针变量名=new 类型标识符(初始值); 格式3:指针变量名=new 类型标识符 [内存单元个数];说明:格式1和格式2都是申请分配某一数据类型所占字节数的内存空间;但是格式2在内存分配成功后,同时将一初值存放到该内存单元中;而格式3可同时分配若干个内存单元,相当于形成一个动态数组。例如:new int; //开辟一个存放整数

2022-01-19 13:31:54 4914

原创 C++提高命名空间复用性

通过命名空间提高复用性#include using namespace std;namespace AA{int a = 100;}namespace BB{int a = 200;}int main(){cout << AA::a << endl;cout << BB::a << endl;system("pause");return 0;}#include using namespace std;namespace

2022-01-19 13:20:30 230

原创 C++命名空间

C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择: 1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下:std::cout << std::hex << 34 << std::endl;2、使用using关键字。using std::cout;using std::endl;可以写成:cout << std:

2022-01-18 13:18:57 272

原创 C++

C++输入,输出con 和cout 是c++标准输入输出流。cin的一般用法:cin>>变量a>>变量b>>变量c;cin会自动辨别变量的类型,如a可以是char,b可以是int,c可以是float。接收字符串时,遇到空格,tab键和换行符都会结束接受。#include using namespace std;int main(){int a;char b;cin >> a >> b;return 0;}cout的一

2022-01-18 13:11:29 175

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除