Code Bye

函数名的一个问题

class Addr
{
public:
    std::string Network();
    std::string String();
private:
    std::string Addr_;
};

class Listener
{
protected:
    Listener(){};
    ~Listener(){};

public:
    virtual Conn *Accept() = 0;
    virtual bool Close() = 0;
    virtual Addr Addr() = 0;
};

上面的代码中,Listener::Addr的名字和返回值都是Addr,这样为什么是可以的?

30分
Listener::Addr的名字是Listener::Addr,而不是Addr。
10分
作为函数的时候,是Listener的Addr,就是Listener::Addr,返回值就是class Addr,编译器是这样分辨的
C语言里面还经常这样写:struct timeval timeval; 前一个是结构体名字,后面是变量名字,唉
窃以为不是好的编码风格

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明函数名的一个问题