文章目录
1.类继承:class 派生类名:public 基类名
如下子类可直接用父类属性和方法。
如下倒过来就不行,基类指针pst不可访问派生类成员。
2.类多态:子类必重写父类纯虚函数
父类虚函数
与子类同名,统一都执行子类重写的show()方法,即动态多态。
纯虚函数
=0即下面没有{}函数实现,基类纯虚函数没有函数的具体实现,但要求派产生类必须有同名函数且有实现代码才能编译过。
下面为C++的数据抽象,其实就是用接口即成员函数调用私有的成员变量时,使用者不知道调哪个变量。
3.socket:send/recv
TCP提供了两种通信机制:流(stream)和数据报(datagram),所以套接字分为流(SOCK_STREAM指定,TCP/IP)
套接字和数据报(很少用,SOCK_DGRAM指定,UDP/IP)
套接字。如下客户端多个,服务端一个,都是tcp。
服务端:
客户端:
1.send函数。
2.recv函数。
传输结构体:
1.socket函数
3.1 点对点聊天:scp -r,curl
如果服务端收到客户端报文是"bye"通信结束。
下面是远程互联网118.89.50.198作为服务端,本地虚拟机作为客户端。window下ipconfig
,curl ipinfo.io
。
C封装socket:
C只能把程序封装成函数:客户端connecttoserver函数:
服务端initserver函数:
3.2 C++封装socket:connecttoserver函数和initserver函数作为类的成员函数
客户端:
服务端: