C++
文章平均质量分 59
sust_ly
堆区
展开
-
C语言实现c++的类
C语言实现对c++类的封装其实也就是用结构体作为c++类的属性,用全局函数(这个函数的入参是这个结构体指针和其他参数)作为类的方法或行为。struct Time{int Hour;int Min;int Sec;};void SetTime(struct Time *time, int hour, int min, int sec){time->Hour = hour;...原创 2018-02-28 16:06:45 · 2258 阅读 · 0 评论 -
不使用第3个变量交换2个变量的值
方法一:i=i+j;j=i-j;i=i-j;方法二:i^=j;j^=i;i^=j;方法三:// 用加减实现,而且不会溢出a = a+b-(b=a);原创 2018-04-07 15:14:04 · 171 阅读 · 0 评论 -
tcp socket对话之vs2013
服务器:1.创建套接字2.绑定3.listen监听4.accept创建接收套接字5.收发消息6.close客户端:1.创建套接字2.bind绑定3.connect连接4.收发消息5.close服务器端代码:#include <iostream>#include <winsock2.h>#pragma comment...原创 2018-03-27 21:50:03 · 660 阅读 · 0 评论 -
面试题之c++String类的实现
已知类String的原型为:class String{public:String(const char *str = NULL);String(const String &other);String &operator=(const String &other);String operator +(const String &other);frien...原创 2018-03-23 18:05:02 · 438 阅读 · 0 评论 -
udp socket对话之vs2013
一般,我们都是在Linux下写socket代码,那么,Windows下会有什么不同呢?windows下需要有两行代码来启动socket,而Linux省去了这一步骤。WSADATA wsaData = { 0 };int iResult = WSAStartup(0x0202, &wsaData);//加载socket库用来加载socket的库函数通信流程如下:1.创...原创 2018-03-22 14:52:31 · 719 阅读 · 0 评论 -
c++打造五子棋(友元类)
实现五子棋游戏,要如下步骤:1.建立棋盘类,棋盘类中有对棋盘的限制以及初始化2.建立玩家类,为棋盘类的友元,对棋盘修改(下棋),以及判断输赢的算法3.main函数实现界面 代码如下:#include <iostream>#include <conio.h>#define Chesssize 14using namespace std;/*五子...原创 2018-03-20 15:32:10 · 937 阅读 · 0 评论 -
static关键字的用法(c,c++)
static关键字的用法:static局部变量的用法:1.地址在全局区,为静态变量2.在main函数前已经初始化3.生命周期在main函数结束后结束4.每次进入函数后不初始化,保留进入函数前的值 static全局变量的用法:1.static修饰的全局变量只能在本文件中使用2.extern关键字无法调用static修饰的全局变量 static成员变量的用法...原创 2018-03-20 15:09:13 · 559 阅读 · 1 评论 -
new delete和malloc free的区别
这是面试中常考的一道题。面试中说出如下几点即可:(1)new delete 是c++运算符,malloc free是c的库函数(2)new一个对象时,有严格的类型检查,返回值是与对象匹配的指针,而malloc仅仅是申请一块内存,返回值为void*,需要对其进行类型转换才可使用。(3)new和delete一个对象时,会自动调用其构造函数和析构函数,而malloc和free只会释放内存...原创 2018-03-18 15:28:48 · 155 阅读 · 0 评论 -
c++只读成员函数和只读对象(const)
首先了解一下const这个关键字,const修饰的变量表示是只读的,也就是不可以被修改的。只读函数只能在类中出现,在其他地方出现是错误的。在非类成员函数中使用const,在编译阶段就会报错。const修饰了类成员函数,则类成员函数只能输出类的成员变量,而不能修改类的只读对象也是如此,只能读出对象的值,而不能修改。 ...原创 2018-03-18 15:05:44 · 1793 阅读 · 0 评论 -
文件复制(c,c++)
思路流程:1.打开源文件2.打开目的文件3.读出源文件内容,并写入目的文件4.关闭文件c++版本:#include <iostream>#include <fstream>using namespace std;int main(int argc,char* argv[]){if (argc != 3){cout << "a...原创 2018-03-15 12:20:15 · 274 阅读 · 0 评论 -
c/c++英文句子中单词逆置(递归和非递归实现)
递归实现:#include <iostream>using namespace std;void change(){char str[1024] = {0};if (scanf("%s", str) != EOF){change();}else{return;}cout << str << ' ';}int main(){...原创 2018-03-14 23:18:47 · 1038 阅读 · 0 评论 -
面试题之strcat函数实现
编写strcat函数,已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);其中strDest 是目的字符串,strSrc 是源字符串(不能调用库函数)。 char *strcat (char * dst, const char * src){ if(NULL == dst || NULL == src...原创 2018-04-07 15:24:04 · 2741 阅读 · 0 评论