文章目录
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函数作为类的成员函数
客户端:





服务端:

















