![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| 为C++的类添加属性和事件 | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-9-12 ![]() |
||||||
|
为C++的类添加属性和事件 在Visual Basic中,一个类具有属性、方法和事件等几个特征,而C++中的类只提供方法,使用时稍显麻烦。
(C)ShiShengSoft原创文章,转载请注明出处:http://blog.csdn.net/shishengsoft/ 一、类的属性 首先,我们看看在VB中如何编写一个类MyClass的属性。 Private m_MyProperty As Long 当使用这个类创建对象后,它的属性调用方法如下: Dim theClass As New MyClass theClass.MyProperty = 100 '写属性 由上可见,在VB中,属性的读和写两个过程使用了同一个名字MyProperty。而在C++的类中,完成这个功能通常是使用set和get两个方法来实现的。那么,可以让C++也使用同一个名字的方法来实现属性的读和写呢?答案是肯定的。 我们先看看,在C++中如何用set和get方法来改变成员变量的。 类的代码如下: class MyClass long getMyProperty() private: 用这个类创建一个对象,其调用代码如下: MyClass theClass ; 以上可以看出,为了读和写类的私有成员变量m_MyProperty,分别使用setMyProperty和getMyProperty两个方法。 而C++提供了一种函数重载的技术,可以实现上面VB属性那样,只用一个MyProperty方法来完成setMyProperty和getMyProperty的功能。只要将类的代码改成如下即可。 class MyClass long MyProperty() private: 而这个类的对象的使用如下: MyClass theClass ; 如此是否显得简洁一些呢?下面我们再看如何实现事件过程。 二、类的事件 先来看看在VB中如何使用类的事件。特别指出,这里的事件不是Windows的消息事件,而是类的自定义事件。 '在类中声明一个事件 在创建对象后如何调用这个事件呢?如下: '声明一个事件类的对象,注意WithEvents关键字 '调用事件 接下来我们看看在C++中如何实现类似的事件功能。先看类的代码: class MyClass 接着看调用对象的代码,如下: //事件函数 int main() 由上面代码可知,在C++中,其实就是使用回调函数来模拟类似于VB的类的事件机制。首先将一个函数的指针保存的类的私有变量中,当需要触发事件时,则通过先前保存的函数指针来调用函数即可。 暫时写这么点(这么多),读者若有不明之处,日后再说。 本文来源:http://blog.csdn.net/shishengsoft/archive/2007/09/09/1778283.aspx
|
||||||
| 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|