|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。标准类声明界说新的援用范例。一个类能够从另外一个类承继,而且能够完成多个接口。类成员能够包含:常数、字段、办法、属性、事务、索引器、运算符、实例机关函数、析构函数、静态机关函数和嵌套范例声明。每一个成员都有联系关系的可会见性,它把持可以会见该成员的程叙文本地区。有五种大概的可会见性情势。下表概述了这些情势。
情势直不雅寄义
public
不限定会见。
protected
会见限于该成员所属的类或从该类派生来的范例。
internal
会见限于此程序。
protectedinternal
会见限于此程序或从该成员所属的类派生的范例。
private
会见限于该成员所属的范例。
示例
usingSystem;
classMyClass
{
publicMyClass(){
Console.WriteLine("Instanceconstructor");
}
publicMyClass(intvalue){
MyField=value;
Console.WriteLine("Instanceconstructor");
}
~MyClass(){
Console.WriteLine("Destructor");
}
publicconstintMyConst=12;
publicintMyField=34;
publicvoidMyMethod(){
Console.WriteLine("MyClass.MyMethod");
}
publicintMyProperty{
get{
returnMyField;
}
set{
MyField=value;
}
}
publicintthis[intindex]{
get{
return0;
}
set{
Console.WriteLine("this[{0}]={1}",index,value);
}
}
publiceventEventHandlerMyEvent;
publicstaticMyClassoperator+(MyClassa,MyClassb){
returnnewMyClass(a.MyField+b.MyField);
}
internalclassMyNestedClass
{}
}
显现了一个类,它包括了具有各类可会见性的成员。示例
classTest
{
staticvoidMain(){
//Instanceconstructorusage
MyClassa=newMyClass();
MyClassb=newMyClass(123);
//Constantusage
Console.WriteLine("MyConst={0}",MyClass.MyConst);
//Fieldusage
a.MyField++;
Console.WriteLine("a.MyField={0}",a.MyField);
//Methodusage
a.MyMethod();
//Propertyusage
a.MyProperty++;
Console.WriteLine("a.MyProperty={0}",a.MyProperty);
//Indexerusage
a[3]=a[1]=a[2];
Console.WriteLine("a[3]={0}",a[3]);
//Eventusage
a.MyEvent+=newEventHandler(MyHandler);
//Overloadedoperatorusage
MyClassc=a+b;
}
staticvoidMyHandler(objectsender,EventArgse){
Console.WriteLine("Test.MyHandler");
}
internalclassMyNestedClass
{}
}
显现了这些成员的用法。
计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解) |
|