首页未分类 › Linux socket编程(一) 对套接字操作的封装

Linux socket编程(一) 对套接字操作的封装

以前写的,现在回顾一下:

下面是对socket操作的封装,因为在Linux下写中文到了windows里面会乱码,所以注释用英文来写,有空再查下解决方法吧

socket.h

 

这里解释下为什么析构函数是虚的,如果要用到多态的话,也就是用一个指向基类的指针来处理对不同到对象

如果类的成员函数不是虚函数,只是个普通的函数,那么会出现一种静态绑定到情况,如

Base* pBase = new Derive; //这里Base的析构函数不是虚函数

delete pBase; //这里只会调用Base::~Base(),所以派生类部分的资源将得不到释放

如果析构函数是虚函数的话,那么将调用Derive::~Derive(),由于我们提供了派生类的析构函数,编译器会扩展这个析构函数,

在里面调用基类的析构函数,这样派生类和基类的资源都将得到释放

 

socket.cpp

接下来是异常处理到类

 

发表评论