class Address {
private :
unsigned char arr[4] = {0};
bitset<8> bits[4];
public :
Address(){
char ip[50];
char temp[4];
cout <<"Enter your IP ADDRESS";
cin >>ip;
int i;
int k=0;
for(i=0;ip[i]!='\0';i++){
if(ip[i]!='.') arr[k]=arr[k]*10 + (ip[i]-48);
else k++;
//Easy PARSE
}
}
};
I need to implement an Address class for IPV4. When I call the constructor of my Address class I am taking-> parsing the input to an 8-bit array of 4, which is basically the 4 octets of IPV4.
255.255.255.255 For example.
Now I need to convert it to a binary array of 4. I don't want to create an external binary converter for this. I am willing to implement it using a bitset. Now the issue is, I haven't found a bitset function which lets me initialize the bits(convert from decimal to bitset) apart from its constructor, which is called as soon as my Address class is called. I can do it by having 4 separate member pointers to type bitset<8> and allocating each in Address(), but that is very inelegant approach. Any ideas? :/