当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++ Builder教程

C++ Builder新增加的关键字

    C++Builder为C++增加了许多关键字,以适应其快速应用开发(RAD)环境。包括两个类范围关键字以及自动Get/Set指令的支持。


    1.新的类范围
    从前面的介绍,我们知道类中包含二个类成员访问说明,分别是public、private和protected。C++Builder定义了两个新的对类的访问说明,他们是published和automated。


    published范围限定词允许C++Builder在设计期间访问组件的属性,这个新的访问限制允许与public相同的访问权限。用_published限制的类成员在运行期间是可用的(就像public类成员一样),而且设计期间也是可用的。这就是为什么在C++Builder对象查看器中可以设
置组件属性的原因。在c++Builder窗体中加入的组件都会自动在published中声明。


    新建一个工程,随便在窗体上加入几个组件,然后切换到代码编辑窗口中,在Unitl.cpp中选择快捷菜单中的Open Soruce/Header file命令,切换到Unitl-h文件中,我们可以看到如下所示的类的声明:
    class  TF0rml:public TForm
    {
    _published:
    TButton  *Buttonl;
    TLabel *Labell
    TEdit  *Editl
    priVate:
    public:
    _fastcall  TForml(TcompcNfent  *0wner);
    }
    可以看出,在窗体中加入的组件都在published段中声明。
    如果需要向一个窗体加入成员变量或方法,那么应该private或public段中加入,而不应该放在published段。一般情况下,不能手工修改窗体类的published段,所有带声明的组件都会对应于窗体的DFM文件,因此手工修改可能造成两个文件的不匹配。


    autometed与public或published具有相同的访问权限,不同之处是,它用于创建类的OLE信息。通常用于创建OLE Automation Servers。当在C++ Builder中建立OLEAutomation Servers时,编译器会为成员函数及属性产生OLE Automation信息,并声明在autometed段中。


  2.Get/Set指令
  除了数据成员和方法之外,C++Builder中的类还可以包含属性。通过在对象查看器中设置属性值了解属性的含义,其实它还有更为广泛的用途。
    属性与类成员,特别是私有成员有着密切的联系。属性提供了一种信息隐藏的机制。属性是通过Get/Set指令来实现的。要访问每个私有类成员,可以编写一个指令去获取(Get)值,另一个指令去设置(Set)值,这就是所谓的Get/Set指令。因为并没有直接访问类的私有部分,所以这种方法能提供良好的信息掩蔽,而且以后还能随意改变内部的数据形式。可以像一个简单变量一样来访问属性。


    3.fastcall
    在C++Builder的窗体方法中自动产生fastcall,这是编译器指示方法参数通过寄存器传输,而不是通过堆栈。这是所有窗体类方法所必须的。然而,如果加入自定义的方法也需要遵循这一要求。

相关内容
赞助商链接