⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_55661.htm

📁 vc
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<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 &lt;iostream&gt;<BR>using namespace std;<BR><BR>class Error {<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;Error() { cerr &lt;&lt; &#34;Failed&#34; &lt;&lt; endl; }<BR>};<BR><BR>class X<BR>{<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;X() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( count != 0 )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw Error();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// ...<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;X(const X&amp;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;X&amp; operator=(const X&amp;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;static int count;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// ...<BR>};<BR><BR>int X::count = 0;<BR><BR>还有一个办法就是把构造函数隐藏起来,定义一个静态成员变量存储对象,用户通过一个静态成员函数获得该对象。例如:<BR>class X<BR>{<BR>private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;static X x;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 其他成员变量<BR>&nbsp;&nbsp;&nbsp;&nbsp;// X(...) : ... { } // 构造函数<BR>&nbsp;&nbsp;&nbsp;&nbsp;X(const X&amp;); // 拷贝构造函数<BR>&nbsp;&nbsp;&nbsp;&nbsp;X&amp; operator=(const X&amp;);<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;static X* instance() { return &amp;x; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 其他成员函数<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 + -