首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++等价于C#嵌套的私有类

C++等价于C#嵌套的私有类
EN

Stack Overflow用户
提问于 2014-10-09 23:29:58
回答 1查看 152关注 0票数 2

我正在学习C++来自C#。在C#中,可以有以下类:

代码语言:javascript
复制
public abstract class BankAccount
{
  private BankAccount() {} // prevent third-party subclassing.
  private sealed class SavingsAccount : BankAccount { ... }
  private sealed class ChequingAccount : BankAccount { ... }
  public static BankAccount MakeSavingAccount() { ... }
  public static BankAccount MakeChequingAccount() { ... }
}

这样,消费者就不用担心BankAccount的类型,也不能嵌套自己的子类。

在C++中有类似的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-10-09 23:45:14

这在C++中是直接的:

代码语言:javascript
复制
class BankAccount
{
private:
    BankAccount(){}
    class SavingsAccount;
    class ChequingAccount;

public:
    static BankAccount MakeSavingAccount();
    static BankAccount MakeChequingAccount();
};

class BankAccount::SavingsAccount final : public BankAccount
{
};

class BankAccount::ChequingAccount final : public BankAccount
{
};

BankAccount BankAccount::MakeSavingAccount()
{
    ...
}

BankAccount BankAccount::MakeChequingAccount()
{
    ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26289608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档