3. 二进制读写 IP 地址

3. 二进制读写 IP 地址#

请设计在 ip.hpp 中定义一个类 class Ip, 它记录 IPv4 地址 (0.0.0.0 ~ 255.255.255.255), 你应该用 4 个存放在 private 中的整数在记录数据.

提示

你应该为头文件加上头文件包含保护.

为其实现,

  • 默认构造函数: 默认记录 0.0.0.0.

  • 构造函数: 任意 IPv4 地址, 如果不在范围内则抛出异常 std::invalid_argument, 为此你需要添加该异常类对应的头文件.

  • setter 和 getter: 为每个数据设置 setter 和 getter.

  • 重载 >> 运算符用于输入: 读取形如 xxx.xxx.xxx.xxx 的数据.

  • 重载 << 运算符用于输出: 将数据按 xxx.xxx.xxx.xxx 的格式输出, 如果数字不足 3 位, 则在左侧补 0.