请设计一个IP地址类,该类存储一个IP地址及对应的子网掩码信息。通过下面写好的main函数来使用IP地址类。 int main(){ int n,m; cin>>n>>m; IPAddr myip(n,m); myip.showIPInfo(); return 0; }
时间: 2024-03-25 12:40:01 浏览: 168
关于算IP地址、子网掩码
好的,我来设计一个IP地址类,代码如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
class IPAddr {
private:
string ip;
int mask;
public:
IPAddr(int n, int m) {
mask = m;
ip = to_string((n >> 24) & 0xFF) + "." + to_string((n >> 16) & 0xFF) + "." + to_string((n >> 8) & 0xFF) + "." + to_string(n & 0xFF);
}
void showIPInfo() {
cout << "IP Address: " << ip << endl;
cout << "Subnet Mask: " << mask << endl;
}
};
```
在这个类中,我们使用了一个 `string` 类型的变量 `ip` 来存储 IP 地址,使用一个整数类型的变量 `mask` 来存储子网掩码信息。在构造函数中,我们将整数类型的 IP 地址转化成点分十进制的字符串格式,存储到 `ip` 中。在 `showIPInfo()` 函数中,我们输出 IP 地址和子网掩码信息。
你可以使用下面的 main 函数来测试这个类:
```cpp
int main() {
int n, m;
cin >> n >> m;
IPAddr myip(n, m);
myip.showIPInfo();
return 0;
}
```
在这个 main 函数中,我们首先输入一个整数类型的 IP 地址和一个整数类型的子网掩码信息,然后创建一个 `IPAddr` 类型的对象 `myip`,并将输入的 IP 地址和子网掩码信息传递给构造函数。最后,我们调用 `showIPInfo()` 函数来输出 IP 地址和子网掩码信息。
阅读全文