如何处理冲突的函数名和变量名?

时间:2018-09-02 21:06:04

标签: c++

我正在编写一个简单的套接字C ++类,它看起来像这样:

class Socket {

public:
    // ...
    void connect();

private:
    // ...
    int socket;

};

我班上有两个问题:

  1. void Socket::connect()
    我正在使用本机Linux套接字接口,这意味着我已经在int connect(...)函数中使用了名为Socket::connect()的函数。

  2. int socket
    同样的问题。类变量名与int socket(...)函数的名称冲突。

问题:我是否被迫将int socketvoid connect()的名称更改为其他名称,还是有解决方法?

1 个答案:

答案 0 :(得分:6)

可以通过使用全局范围运算符::来使用全局名称。

在类内部,您可以使用::connect::socket来使用全局函数。要调用全局函数,请使用::connect(...)::socket(...)