类创建另一个并返回指针。这是违反SOLID原则的吗?

时间:2017-08-08 11:14:39

标签: c++ solid-principles

我不是SOLID原则的专家,因此得到了这个问题。 以下是否违反SOLID原则?如果是,那么理想的解决方案是什么? (请查看示例后面突出显示的代码)

class IUser
{
public:
    virtual string GetName() = 0;

private:
    string m_strName;
};
class CUser : public IUser
{
public:
    CUser(string strEmail) : m_strEmail(strEmail) {}
    virtual string GetName() {return m_strName;}

    string m_strEmail;
};

class ISignIn
{
public:
    virtual IUser* GetUser(string strEmail) = 0;
};
class CSignIn : public ISignIn
{
public:
    virtual IUser* GetUser(string strEmail)
    {
        return new CUser(strEmail);
    }
};

我关注的代码是:

return new CUser(strEmail);

感谢大家回答这个问题!

0 个答案:

没有答案