我正在编写一个简单的套接字C ++类,它看起来像这样:
class Socket {
public:
// ...
void connect();
private:
// ...
int socket;
};
我班上有两个问题:
void Socket::connect()
我正在使用本机Linux套接字接口,这意味着我已经在int connect(...)
函数中使用了名为Socket::connect()
的函数。
int socket
同样的问题。类变量名与int socket(...)
函数的名称冲突。
问题:我是否被迫将int socket
和void connect()
的名称更改为其他名称,还是有解决方法?
答案 0 :(得分:6)
可以通过使用全局范围运算符::
来使用全局名称。
在类内部,您可以使用::connect
和::socket
来使用全局函数。要调用全局函数,请使用::connect(...)
和::socket(...)
。