【发布时间】:2013-08-07 12:21:29
【问题描述】:
我有一个简单的问题:
class my
{
};
my ob;
编译器允许我创建一个有意义的对象。而且,我知道你不能在构造函数是私有的地方创建对象。
在我看来,类中的所有内容都是private,但显然不是默认构造函数(因为它允许我创建对象,因为默认构造函数应该是public)。但令我困惑的是,课堂上没有public 部分。
那么,在这种情况下,它是否创建一个public 部分只是为了在其下放置一个默认构造函数?
还是发生了其他事情而我的理由不正确?
此外,在创建/访问对象时,如何在内部组织/跟踪公共、私有和受保护的访问?
我收到了这个问题,因为我之前从未创建过空类的对象。
【问题讨论】:
-
编译器提供的构造函数、析构函数和赋值运算符是
public。你必须积极地做一些事情来禁止它们。
标签: c++ constructor private default-constructor public-method