jengelh schrieb:Das man sich den ganzen Klassenkrams sparen kann, weil der genauso viele Codezeilen braucht wie ein Aufruf des Systemcalls.
int main(void)
{
int fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (fd < 0)
printf("Tja pech\n");
close(fd);
}
class Socket {
public:
Socket(void);
~Socket(void);
protected:
int fd;
};
Socket::Socket(void)
{
fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
}
Socket::~Socket(void)
{
close(fd);
}
bool Socket::ok(void)
{
return fd >= 0;
}
int main(void)
{
Socket *s = new Socket();
if (!s.ok)
printf("Tja pech\n");
}