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

📄 o2.htm

📁 C++ Builder学习中文版,让学者对其有一定的理解.
💻 HTM
字号:
 

<html>

<head>

<title>在C++Builder中,如何自定义属性?</title>

<meta http-equiv="目录类型" content="文本/html; 字符集=gb2312">

</head>

<body bgcolor="#FFFFFF">

<table width="100%" border="0" height="285">

  <tr> 

    <td height="35"> 

      <div align="center" class="p14"><font color="#000000">在 C++Builder   

        中,如何自定义属性?</font></div>  

    </td>  

  </tr>  

  <tr valign="top">   

    <td>  

      <p><font color="#000000">Borland C++Builder 对 C++ 进行了扩充,也可以象 Delphi 中一样自定义类属性。 对于简单类型的属性,可以如下定义:</font>   

      <p><font color="#000000">class TSome{<br>  

      </font>  

      <dir><font color="#000000">protected:<br> 

        &nbsp;int a;<br>  

        &nbsp;int b;<br>  

        &nbsp;int s;<br>  

        &nbsp;int GetSum(void){ return s = a + b ; }<br>  

        &nbsp;void SetSum(int s){ this-&gt;s = s ; }<br>  

        public:<br>  

        &nbsp;//...其它代码<br>  

        &nbsp;__property int sum={read=GetSum,write=SetSum};<br>  

        &nbsp;//...<br>  

        </font>  

      </dir>  

      <font color="#000000"> 

      };//end class</font>   

      <p>   

      <hr noShade size=1 width="100%">  

      <font color="#000000"> 

      对于数组类型的属性,可以如下定义:</font>  

      <p><font color="#000000">class TSome{<br>  

      </font>  

      <dir><font color="#000000">private:<br> 

        &nbsp;TList *list;<br>  

        protected:<br>  

        &nbsp;void* GetItem(int i){ return (i &gt;= 0 &amp;&amp; i &lt; list-&gt;Count   

        ) ? list-&gt;Items[i] : NULL ; }<br>  

        &nbsp;void SetItem(int i,void*ptr){ list-&gt;Insert(i,ptr); }<br>  

        &nbsp;int GetCount(void){return list-&gt;Count;}<br>  

        public:<br>  

        &nbsp;TSome(void){ list = new TList( ); }<br>  

        &nbsp;~TSome(void){ if( list ) delete list; }<br>  

        &nbsp;//...其它代码<br>  

        &nbsp;__property void* item[int i]={read=GetItem,write=SetItem};<br>  

        &nbsp;__property int count={read=GetCount};<br>  

        &nbsp;//...<br>  

        </font>  

      </dir>  

      <font color="#000000"> 

      };//end class</font>   

      <p> <font color="#000000">注意:“属性”使用起来确实很直观、很简洁,但作为商品化的软件,还应在采用属性的同时,不要遗忘了捕获任何可能抛出的异常   

        [exceptions]。</font> 

      </td> 

  </tr> 

</table> 

<br> 

</body> 

</html> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -