C++/CLI学习笔记12(快速打通c++与c#相互调用的桥梁)

在类中便用常量

我们经常需要在类中使用常量成员,这种成员的值在执行期间不能改变。有下面两种常量。

1:类的每个对象都不变的常量。例如,car类可包含一个numberOfwheels成员,它的值对于card的所有实例来说都是4。这称为“类级常量”。

2:不同对象会发生变化的常量。例如,BankAccount对象包含一个账号,它对于不同实例来说是不同的,但一经设置就不能变动。这称为“实例常量”。

1:使用类级常量

类级常量代表在类的所有实例中都不变的值。拿我们的CreditAccount例子来说,假定信用卡有一个品牌名称,比如“Super Platinum Card”(超级白金卡),该名称适合同类型的所有卡片,所以它逻辑上从属于类而不是实例。进一步假定信用卡名称不会发生改变,所以适合把它设为类级常量。

用literal关键字创建类级常量,如下所示:

ref class MyClass{

    public:
       literal String^ name="demo1";
}

每个literal都必须有一个初始值,而且必须是编译时能计算的值。换言之,它不能依赖于运行时才能确定的东西。

由于name是常量,所以可以放心地设为公共,因为任何人都修改不了它。可声明内建类型、ref 类型和值类型的literal。
注意:标准C++允许使用static const成员表示类级常量。虽然C++/CLI也支持这样写,但如果类是通过一个#using语句来访问的,这种常量就不被认为是编译时常量。所以,推荐尽量使用literal,这种成员的行为保证是符合预期的。

2:使用实例常量

用initonly关键字将数据成员标记为实例常量。这种数据成员的值在创建实例时由构造器设置,之后不能修改。

ref class MyClass{

    public:
        initonly long accountNumber;
}

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rains卍Soft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值