📄 subject_55661.htm
字号:
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:水番 回复日期:2003-10-12 09:10:16
<br>内容:英文的,看不是很懂,<BR><BR>要控制对象的个数,可以用一个计数器,实现方法就是用静态成员变量。比如:<BR>#include <iostream><BR>using namespace std;<BR><BR>class Error {<BR>public:<BR> Error() { cerr << "Failed" << endl; }<BR>};<BR><BR>class X<BR>{<BR>public:<BR> X() {<BR> if ( count != 0 )<BR> throw Error();<BR> else<BR> {<BR> count++;<BR> // ...<BR> }<BR> }<BR> <BR>private:<BR> X(const X&);<BR> X& operator=(const X&);<BR> static int count;<BR> // ...<BR>};<BR><BR>int X::count = 0;<BR><BR>还有一个办法就是把构造函数隐藏起来,定义一个静态成员变量存储对象,用户通过一个静态成员函数获得该对象。例如:<BR>class X<BR>{<BR>private:<BR> static X x;<BR> // 其他成员变量<BR> // X(...) : ... { } // 构造函数<BR> X(const X&); // 拷贝构造函数<BR> X& operator=(const X&);<BR>public:<BR> static X* instance() { return &x; }<BR> // 其他成员函数<BR>};<BR><BR>// X X::x(...); // 定义静态成员变量x<BR><BR><BR>2003-10-12 9:36:55
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -