Uložíme adresu třídy, která je v šestnáctkové soustavě hexa na string a integer.
1. Vytvoříme jednoducho třídu CHexToInt
#pragma once#include <iostream>#include <sstream>usingnamespace std;class CHexToInt{ string m_strId; ///< Class adress stored as stringunsignedint m_iId; ///< Class adress stored as integerpublic: CHexToInt(); ~CHexToInt();};
2. V konstruktoru třídy
CHexToInt::CHexToInt(){ stringstream stream;// Convert class adress to string stream << this; m_strId = stream.str(); cout << "m_strId = " << m_strId << endl;// Convert class adress to integer m_iId = (int) this; cout << "m_iId = " << m_iId << endl;// Convert integer back to hexadecimalchar strHexa[10]; sprintf(strHexa, "%x", m_iId); cout << "Int to Hex = " << strHexa << endl;// Test Int to Hex by cout cout << "Hex number = " << hex << m_strId << endl << endl;}
2.1. Převedeme adresu třídy na string m_strId
stringstream stream;// Convert hexadecimal class adress to stringstream << this;m_strId = stream.str();
2.2. Převedeme adresu třídy na na integer m_iId
m_iId = (int) this;
2.3 Nakonec si ověříme převodem hodnoty int na hex, zda bude výsledná hodnota souhlasit s původní hexa hodnotou.
// Convert integer back to hexadecimalchar strHexa[10];sprintf(strHexa, "%x", m_iId);cout << "Int to Hex = " << strHexa << endl;// Test Int to Hex by coutcout << "Hex number = " << hex << m_strId << endl << endl;