C/C++
我来试试
这个作者很懒,什么都没留下…
展开
-
C++ 拷贝构造函数
C++ 拷贝构造函数拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于:通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象,并从函数返回这个对象。如果在类中没有定义拷贝构造函数,编译器会自行定义一个。如果类带有指针变量,并有动态原创 2017-10-27 23:40:37 · 194 阅读 · 0 评论 -
C++ 动态内存
C++ 动态内存很多时候,您无法提前预知需要多少内存来存储某个定义变量中的特定信息,所需内存的大小需要在运行时才能确定。在 C++ 中,您可以使用特殊的运算符为给定类型的变量在运行时分配堆内的内存,这会返回所分配的空间地址。这种运算符即 new 运算符。如果您不需要动态分配内存,可以使用 delete 运算符,删除之前由 new 运算符分配的内存。new 和 d原创 2017-11-03 13:07:21 · 213 阅读 · 0 评论 -
对m*n稀疏矩阵建立其三元组
题目:对m*n稀疏矩阵建立其三元组 实现代码://对m*n稀疏矩阵建立其三元组 //输入组合 //1 2 0 1//3 0 2 1//0 1 2 3#includeusing namespace std;#define maxSize 4int creatTrimat(float A[][maxSize],int m,int n,float B[][3]){ int k=原创 2017-10-26 23:00:06 · 793 阅读 · 0 评论 -
C++指针的使用
C++指针的使用使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。这些是通过使用一元运算符 * 来返回位于操作数所指定地址的变量的值。下面的实例涉及到了这些操作:#include using namespace std;int main (){ int var = 20; // 实际变量的声明 int *原创 2017-10-26 23:08:40 · 195 阅读 · 0 评论 -
C++时间日期的使用
C++时间日期的使用一、获取现在的时间代码:#include #include int main (){ time_t curtime; time(&curtime); printf("当前时间 = %s", ctime(&curtime)); return(0);}输出:当前时间 = Thu Oct 26 23:20:11 2017请按任意键继续原创 2017-10-26 23:19:48 · 4441 阅读 · 2 评论 -
C语言几种输入 & 输出
getchar() & putchar() 函数int getchar(void) 函数从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。您可以在循环内使用这个方法,以便从屏幕上读取多个字符。int putchar(int c) 函数把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。您可以在循环原创 2017-10-15 13:04:12 · 1502 阅读 · 0 评论 -
typedef的用法
C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字定义AARON:typedef unsigned char AARON;使用:AARON a,b;按照惯例,定义时会大写字母,以便提醒用户类型名称是一个象征性的缩写,但您也可以使用小写字母具体代码示例:#include #include typedef struct Books{ cha原创 2017-10-15 12:47:05 · 714 阅读 · 0 评论 -
位域的用法
位域声明在结构内声明位域的形式如下:struct{ type [member_name] : width ;};type整数类型,决定了如何解释位域的值。类型可以是整型、有符号整型、无符号整型。member_name位域的名称。width位域中位的数量。宽度必须小于或等于指定类型的位宽度。原创 2017-10-15 12:21:03 · 306 阅读 · 0 评论 -
位域的定义和位域变量的说明
位域定义与结构定义相仿,其形式为:struct 位域结构名 { 位域列表};其中位域列表的形式为:类型说明符 位域名: 位域长度 但特别注意: 一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始例如:struct size{ int a:8;原创 2017-10-15 07:45:24 · 1287 阅读 · 0 评论 -
指向结构的指针
结构体的设置比较简单,但注意:为了使用指向该结构的指针访问结构的成员,您必须使用 -> 运算符,如下所示:struct_pointer->title;具体实现代码如下:#include #includestruct Books{ char title[50]; char author[30]; char subject[100]; int bookId;};vo原创 2017-10-15 07:39:51 · 462 阅读 · 0 评论 -
回调函数理解
函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。简单讲:回调函数是由别人的函数执行时调用你实现的函数。示例代码如下:#include #include //回调函数 void callback_array(int *array,int m,int(*getNextRandomValue)(void)){ int i; for(i原创 2017-10-14 23:13:31 · 263 阅读 · 0 评论 -
函数指针用法示例
函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型具体示例如下:#include int max(int x,int y){ return x>y?x:y;} int main(void){ int(*p)(int原创 2017-10-14 22:44:01 · 173 阅读 · 0 评论 -
int、long、long long取值范围
int、long、long long取值范围unsigned int 0~4294967295 int -2147483648~2147483647 unsigned long 0~4294967295long -2147483648~2147483647long long的最大值:922337203685转载 2018-01-08 10:27:30 · 242 阅读 · 0 评论 -
C++中sort函数用法
C++中sort函数用法排序示例: 输入两个数n,t,其中n是待排的结构体个数,t=0代表用降序排序,t = 1表示用升序排序 例如这样: 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 T...原创 2018-03-22 16:12:40 · 234 阅读 · 0 评论 -
Poj1002解题报告
Poj1002解题报告题目: DescriptionBusinesses like to have memorable telephone numbers. One way to make a telephone number memorable is to have it spell a memorable word or phrase. For example, you can ca...原创 2018-03-29 18:56:47 · 709 阅读 · 0 评论 -
C++ 异常处理
C++ 异常处理异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw。throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。catch: 在您想要处理问题的地方,通过异常处理程序捕获原创 2017-11-03 12:58:09 · 249 阅读 · 0 评论 -
C++ 文件和流
C++ 文件和流C++ 标准库 fstream,它定义了三个新的数据类型:数据类型描述ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息。ifstream该数据类型表示输入文件流,用于从文件读取信息。fstream该数据类型通常表示文件流,且同时具有 ofstream原创 2017-11-03 12:45:03 · 188 阅读 · 0 评论 -
C++ 接口(抽象类)
C++ 接口(抽象类) 设计抽象类(通常称为 ABC)的目的,是为了给其他类提供一个可以继承的适当的基类。抽象类不能被用于实例化对象,它只能作为接口使用。如果试图实例化一个抽象类的对象,会导致编译错误。 因此,如果一个 ABC 的子类需要被实例化,则必须实现每个虚函数,这也意味着 C++ 支持使用 ABC 声明接口。如果没有在派生类中重载纯虚函数,就尝原创 2017-11-03 12:26:40 · 265 阅读 · 0 评论 -
C++继承的使用
C++继承的使用用继承实现输出长方体面积和体积实现代码:#includeusing namespace std;class Rectangle1{ public: void getWidth(int w){ width=w; } void getLength(int l){ length=l; } void get原创 2017-10-29 23:29:08 · 295 阅读 · 0 评论 -
C++ 中的运算符重载
C++ 中的运算符重载您可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。Box operator+(const Box&);声明加法运算符用于把两个 Box 对象相加,返回最终原创 2017-10-30 22:44:12 · 238 阅读 · 0 评论 -
输出100个100以内的随机数(C++)
C++使用随机数:案例:输出100个100以内的随机数(C++)实现代码:#include#include#includeusing namespace std; int main(){ int a[100],i; srand((unsigned)time(NULL));//设置种子 for(i=0;i<100;i++){ a[i]=rand()%100; c原创 2017-10-23 23:32:06 · 9486 阅读 · 0 评论 -
C++ 二元运算符重载
C++ 二元运算符重载二元运算符需要两个参数,下面是二元运算符的实例。我们平常使用的加运算符( + )、减运算符( - )、乘运算符( * )和除运算符( / )都属于二元运算符。就像加(+)运算符。下面的实例演示了如何重载加运算符( + )。类似地,您也可以尝试重载减运算符( - )和除运算符( / )。代码示例;#include using namespa原创 2017-10-31 23:34:35 · 332 阅读 · 0 评论 -
C++ 命名空间
C++ 命名空间命名空间专门作为附加信息来区分不同库中相同名称的函数、类、变量等。使用了命名空间即定义了上下文。本质上,命名空间就是定义了一个范围。定义命名空间命名空间的定义使用关键字 namespace,后跟命名空间的名称,如下所示:namespacenamespace_name{// 代码声明}为了调用带有命名原创 2017-11-09 22:34:53 · 164 阅读 · 0 评论 -
C++ 模板
C++ 模板模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。函数模板模板函数定义的一般形式如下所示:原创 2017-11-09 22:55:45 · 133 阅读 · 0 评论 -
C++ 预处理器
C++ 预处理器预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。我们已经看到,之前所有的实例中都有 #include 指令。这个宏用于把头文件包含到源文件中。C++ 还支持很多预处理指令,比如 #include、原创 2017-11-09 23:31:35 · 229 阅读 · 0 评论 -
C++数组的使用
C++数组的使用一、Array 直接初始化 char 数组是特殊的,这种初始化要记得字符是以一个 null 结尾的。实例char a1[] = {'C', '+', '+'}; // 初始化,没有 null char a2[] = {'C', '+', '+', '\0'}; // 初始化,明确有 null char a3[] = "C++"原创 2017-10-24 23:07:12 · 317 阅读 · 0 评论 -
栈——判断栈的入出栈序列是否合法
栈——判断栈的入出栈序列是否合法I为入栈,O为出栈,如IOIOIO实现代码:#includeusing namespace std;int judge1(char ch[]){ int i=0; int I=0,O=0;; while(ch[i]!='\0'){ if(ch[i]=='I') ++I; if(ch[i]=='O') ++O; i原创 2017-10-24 23:41:08 · 777 阅读 · 0 评论 -
C++ 数据抽象
C++ 数据抽象数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于接口和实现分离的编程(设计)技术。C++ 程序中,任何带有公有和私有成员的类都可以作为数据抽象的实例。具体示例:#includeusing namespace std;class Adder{ public: Adder(i原创 2017-11-02 07:26:25 · 273 阅读 · 0 评论 -
C++ 信号处理
C++ 信号处理信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断。有些信号不能被程序捕获,但是下表所列信号可以在程序中捕获,并可以基于信号采取适当的动作。这些信号是定义在 C++ 头文件 中。信号描述SIGABRT原创 2017-11-11 08:38:51 · 271 阅读 · 1 评论 -
C++ Web 编程
C++ Web 编程示例代码:#include using namespace std; int main (){ cout << "Content-type:text/html\r\n\r\n"; cout \n"; cout \n"; cout Hello World - 第一个 CGI 程序\n"; cout \n"; cout \n原创 2017-11-12 23:30:40 · 492 阅读 · 0 评论 -
C++ STL 教程
C++ STL 教程在前面的章节中,我们已经学习了 C++ 模板的概念。C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。C++ 标准模板库的核心包括以下三个组件:组件描述容器(Containers)容器是原创 2017-11-13 08:01:35 · 190 阅读 · 0 评论 -
C++ 数据封装
C++ 数据封装 数据封装是一种把数据和操作数据的函数捆绑在一起的机制,数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。 C++ 通过创建类来支持封装和数据隐藏(public、protected、private)。我们已经知道,类包含私有成员(private)、保护成员(protected)和公有成员(public)成员。默认情况原创 2017-11-03 11:51:58 · 307 阅读 · 0 评论 -
斐波那契装箱问题
题目:斐波那契装箱问题说明:题目来源《国际大学生程序设计竞赛中山大学内部选拔真题解二》 遗留问题:这本书的第一题,题目测试和解答测试数据不一致,所以应该是解答有误,但我现在也想不到解决办法,就先贴出来,以后有思路过来完成它 题目: 题目给出测试数据: 这本书的解答代码(有修改):#include <cstdio> #define maxn 64int x[m...原创 2018-03-22 11:02:45 · 234 阅读 · 0 评论