- 类的静态成员包括静态的数据成员和静态的成员函数! static关键字 静态数据成员 比如我们现在要设计一款战争游戏,在这款游戏中,分为多个兵种,每个兵种都有一定数量的士兵,游戏过程中,每隔一定时间每个兵种都会产生一定数量的士兵,由于战争的消耗,每个兵种的士兵都会减少。 为了使情节更逼真,引入了士气这个概念,当士气比较高的时候,这个兵种的战斗力就比较强,士... 类的静态成员包括静态的数据成员和静态的成员函数! static关键字 静态数据成员 比如我们现在要设计一款战争游戏,在这款游戏中,分为多个兵种,每个兵种都有一定数量的士兵,游戏过程中,每隔一定时间每个兵种都会产生一定数量的士兵,由于战争的消耗,每个兵种的士兵都会减少。 为了使情节更逼真,引入了士气这个概念,当士气比较高的时候,这个兵种的战斗力就比较强,士...
- 在声明一个类的时候,是没有分配存储空间的,只有在真正定义一个对象的时候,程序才会为这个对象分配相应的存储空间。 如果定义了多个对象,这些对象都有自己的存储空间,但是这些对象都是用相同的成员方法的。 当不同的对象调用成员方法时,怎么保证就是这个对象的成员? this指针 在每个成员函数中,都包含一个特殊的指针。 这个指针的名字是固定的,就是this指针... 在声明一个类的时候,是没有分配存储空间的,只有在真正定义一个对象的时候,程序才会为这个对象分配相应的存储空间。 如果定义了多个对象,这些对象都有自己的存储空间,但是这些对象都是用相同的成员方法的。 当不同的对象调用成员方法时,怎么保证就是这个对象的成员? this指针 在每个成员函数中,都包含一个特殊的指针。 这个指针的名字是固定的,就是this指针...
- 我们自己写的String类具有以下函数 1.构造函数 String(const char *s); //用c字符串s初始化 String(int n,char c); //用n个字符c初始化12 2.拷贝和赋值 String& String(String& str); const String& operator=(String&... 我们自己写的String类具有以下函数 1.构造函数 String(const char *s); //用c字符串s初始化 String(int n,char c); //用n个字符c初始化12 2.拷贝和赋值 String& String(String& str); const String& operator=(String&...
- C++提供构造函数来处理对象的初始化。 构造函数是一种特殊的成员函数,不需要用户来调用,定义对象时被自动执行。 构造函数名字与类名相同,无返回类型(void也不能有哦)。 可以由用户自己定义实现,根据需要设计对数据成员进行初始化 用上个例子来继续写代码进去 CTime为类名 无参数的构造函数: 在.h文件中进行声明: CTime(); 在.cp... C++提供构造函数来处理对象的初始化。 构造函数是一种特殊的成员函数,不需要用户来调用,定义对象时被自动执行。 构造函数名字与类名相同,无返回类型(void也不能有哦)。 可以由用户自己定义实现,根据需要设计对数据成员进行初始化 用上个例子来继续写代码进去 CTime为类名 无参数的构造函数: 在.h文件中进行声明: CTime(); 在.cp...
- VS与VC的区别: VS(Visual Studio)是工具,如VS2008,VS2012等集成开发环境,它们支持C、C++、JAVA、C#等语言开发。 VC(Visual C++)是语言。 温馨提示:如果上述内容帮到了您或者有什么错误,而您又是注册用户的话,请不要吝惜自己的鼠标和键盘,点赞或者留言指出,感谢支持! VS与VC的区别: VS(Visual Studio)是工具,如VS2008,VS2012等集成开发环境,它们支持C、C++、JAVA、C#等语言开发。 VC(Visual C++)是语言。 温馨提示:如果上述内容帮到了您或者有什么错误,而您又是注册用户的话,请不要吝惜自己的鼠标和键盘,点赞或者留言指出,感谢支持!
- 流插入,流提取运算符重载和类型转换的讲解和实例 重载流插入和提取运算符的运算符函数,不能作为类的成员函数,只能作为普通函数 流插入,流提取运算符重载 流插入运算符”<<”和流提取运算符”>>”也可以被用来重载。 我们可以使用cout对一个int,string等等类型的数据进行输出,我们却不可以对我们自己定义的一个类的对象进行直... 流插入,流提取运算符重载和类型转换的讲解和实例 重载流插入和提取运算符的运算符函数,不能作为类的成员函数,只能作为普通函数 流插入,流提取运算符重载 流插入运算符”<<”和流提取运算符”>>”也可以被用来重载。 我们可以使用cout对一个int,string等等类型的数据进行输出,我们却不可以对我们自己定义的一个类的对象进行直...
- 走读webrtc的代码能看到各种风格的代码,比如析构函数就有很多种,看到图1的写法还是可以理解的,但是图2就些疑惑了。 图1 RtpSenderBase类在定义时用到了另一种析构函数声明的方式: 图2 基类的析构函数通常必须是虚拟的,但是派生类的析构函数呢?在C++ 11中,使用关键字“override”和“default”明确使用... 走读webrtc的代码能看到各种风格的代码,比如析构函数就有很多种,看到图1的写法还是可以理解的,但是图2就些疑惑了。 图1 RtpSenderBase类在定义时用到了另一种析构函数声明的方式: 图2 基类的析构函数通常必须是虚拟的,但是派生类的析构函数呢?在C++ 11中,使用关键字“override”和“default”明确使用...
- C++中可以使用friend关键字来将函数、类声明为某个类的友元 友元包括友元函数和友元类 友元具有一些特权,可以访问private的成员 友元只能授予,不能索取,单向,不能传递(比如a是b的友元,b是c的友元,但a不是c的友元) 友元函数 在类体中使用friend关键字对友元函数进行声明: 将非成员函数/一般函数声明为友元: friend vo... C++中可以使用friend关键字来将函数、类声明为某个类的友元 友元包括友元函数和友元类 友元具有一些特权,可以访问private的成员 友元只能授予,不能索取,单向,不能传递(比如a是b的友元,b是c的友元,但a不是c的友元) 友元函数 在类体中使用friend关键字对友元函数进行声明: 将非成员函数/一般函数声明为友元: friend vo...
- 顺序表结构的存储方式非常容易理解,操作也十分方便。但是顺序表结构有如下一些缺点: 1.在插入或者删除结点时,往往需要移动大量的数据。 2.如果表比较大,有时难以分配足够的连续存储空间,往往导致内存分配失败,而无法存储。 后面会有链表结构的章节。 直接上代码,代码中有详细注释,请自己领悟 #include <stdio.h> #include <stdlib.h... 顺序表结构的存储方式非常容易理解,操作也十分方便。但是顺序表结构有如下一些缺点: 1.在插入或者删除结点时,往往需要移动大量的数据。 2.如果表比较大,有时难以分配足够的连续存储空间,往往导致内存分配失败,而无法存储。 后面会有链表结构的章节。 直接上代码,代码中有详细注释,请自己领悟 #include <stdio.h> #include <stdlib.h...
- 目录 前言 1. CString与std::string的相互转化 2. string、char *、char[]的相互转换 前言 C++编程中经常会遇到各种字符、字符串之间的转换问题,这里简单的做个整理,具体内容直接参考实例代码。 1. CString与std::string的相互转化 报错: const std::string' (aka 'co... 目录 前言 1. CString与std::string的相互转化 2. string、char *、char[]的相互转换 前言 C++编程中经常会遇到各种字符、字符串之间的转换问题,这里简单的做个整理,具体内容直接参考实例代码。 1. CString与std::string的相互转化 报错: const std::string' (aka 'co...
- 目录 前言 正文 前言 《C++面试常见问答题看这三篇文章就够了》的上篇和中篇主要是理论知识的问答,下篇的重点则是代码相关的问答题类型。 《C++面试常见问答题看这三篇文章就够了(上)》 《C++面试常见问答题看这三篇文章就够了(中)》 《C++面试常见问答题看这三篇文章就够了(下)》(本文) 正文 1. 代码int i=3;i&... 目录 前言 正文 前言 《C++面试常见问答题看这三篇文章就够了》的上篇和中篇主要是理论知识的问答,下篇的重点则是代码相关的问答题类型。 《C++面试常见问答题看这三篇文章就够了(上)》 《C++面试常见问答题看这三篇文章就够了(中)》 《C++面试常见问答题看这三篇文章就够了(下)》(本文) 正文 1. 代码int i=3;i&...
- 本篇博客讲解: 运算符重载的规则,以及实例 运算符重载的规则 被重载的运算符必须是已经存在的C++运算符,不能重载自己创建的运算符。 运算符被重载之后,原有功能仍然保留。只是扩展了原有功能。 重载不能改变运算符运算对象的个数。 +运算符具有两个操作数,在+运算符函数作为类(例如上个例子中的CTime)的成员函数的时候,有一个参数是隐含的,也就是当前... 本篇博客讲解: 运算符重载的规则,以及实例 运算符重载的规则 被重载的运算符必须是已经存在的C++运算符,不能重载自己创建的运算符。 运算符被重载之后,原有功能仍然保留。只是扩展了原有功能。 重载不能改变运算符运算对象的个数。 +运算符具有两个操作数,在+运算符函数作为类(例如上个例子中的CTime)的成员函数的时候,有一个参数是隐含的,也就是当前...
- 一、JNI类型映射 Java类型本地类型描述booleanjbooleanC/C++8位整型bytejbyteC/C++带符号的8位整型charjcharC/C++无符号的16位整型shortjshortC/C++带符号的16位整型intjintC/C++带符号的32位整型longjlongC/C++带符号的64位整型efloatjfloatC/C++32位浮点... 一、JNI类型映射 Java类型本地类型描述booleanjbooleanC/C++8位整型bytejbyteC/C++带符号的8位整型charjcharC/C++无符号的16位整型shortjshortC/C++带符号的16位整型intjintC/C++带符号的32位整型longjlongC/C++带符号的64位整型efloatjfloatC/C++32位浮点...
- 如果我们在定义一个对象之后,不希望在后面对这个对象进行修改,那么我们可以把这个对象声明为const对象。 声明为const对象之后,这个对象的所有数据成员后面都不能被修改! const对象 定义类对象时可以将其指定为const对象。定义后const对象不能再被修改。 const对象不能调用非const类型的成员函数。 有两种方法来定义一个const对... 如果我们在定义一个对象之后,不希望在后面对这个对象进行修改,那么我们可以把这个对象声明为const对象。 声明为const对象之后,这个对象的所有数据成员后面都不能被修改! const对象 定义类对象时可以将其指定为const对象。定义后const对象不能再被修改。 const对象不能调用非const类型的成员函数。 有两种方法来定义一个const对...
- 本篇博客讲解: 运算符重载基础,以及实例 运算符重载基础 运算符重载就是对已有的运算符赋予新的含义,实现新的功能。 运算符重载,如“+”,它可以对int、float、string类型进行加法运算。 “<<”是C++中的左移运算符,但是在输出操作中与cout配合被称为流插入运算符,可以进行输出。 “>>”是右移运算符,与ci... 本篇博客讲解: 运算符重载基础,以及实例 运算符重载基础 运算符重载就是对已有的运算符赋予新的含义,实现新的功能。 运算符重载,如“+”,它可以对int、float、string类型进行加法运算。 “<<”是C++中的左移运算符,但是在输出操作中与cout配合被称为流插入运算符,可以进行输出。 “>>”是右移运算符,与ci...
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
回顾中 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
即将直播
热门标签