1.运算符重载:operator ==
2.类的继承与派生:class 派生类名:public 基类名
基类与派生类
下面为CKCon派生类成员函数实现
下面为CGirl基类成员函数实现
访问控制和继承
继承类型
基类与派生类的指针:
基类的指针可以指向基类对象。派生类的指针可以指向派生类对象。基类的指针可以指向派生类对象,但是不能通过基类的指针访问派生类的成员。派生类的指针不可以指向基类对象。下面为基类指针可指向派生类对象
下面为基类指针pst可访问基类成员
下面为基类指针pst不可访问派生类成员
下面为派生类指针不可指向基类对象
3.类的多态:抽象类
多态字面意思就是多种形态,当类间存在层次结构,并且类之间是通过继承关联时,就可能会用到多态。C++多态就是当调用成员函数时,会根据调用函数的对象的类型来执行不同的函数
注意上图p1是基类指针,p2是派生类指针
父类虚函数与子类同名,都调用子类的show()方法
纯虚函数=0
如下基类纯虚函数没有函数的具体实现,但要求派产生类必须有同名函数且有实现代码才能编译过
下面为C++的数据抽象,其实就是用接口即成员函数调用私有的成员变量时,使用者不知道调哪个变量
4.网络知识:tcp
5.socket:send/recv
socket通信过程
服务端:1.买个手机(创socket)
2.插入手机卡(bind本地信息)
3.将手机设为响铃模式(让套接字主动变被动;listen)
4.等待别人电话
服务端:
客户端:
服务端程序绑定的通信端口
客户端程序指定服务端的ip地址
客户端程序指定服务端的通信端口
下面是send函数
下面是recv函数
传输结构体
点对点聊天:
如果服务端收到客户端报文是"bye"通信结束
下面是远程互联网作为服务端,本地虚拟机作为客户端
window下ipconfig
,curl ipinfo.io
,
C封装socket:
C只能把程序封装成函数:客户端connecttoserver函数:
服务端initserver函数:
C++封装socket:
把connecttoserver函数和initserver函数作为类的成员函数
客户端:
服务端: