社区
C++ Builder
帖子详情
class中常数的封装问题
symansoft
2000-08-07 04:27:00
一般class封装的成员只能是变量,对于class中的常量如何封装呢?比如:人类 class Human,有2只手(即const int hands=2)而不可能为别的数,但如何将const int hands=2做为Human的成员封装呢。请C++高手指教,谢谢!
...全文
217
7
打赏
收藏
class中常数的封装问题
一般class封装的成员只能是变量,对于class中的常量如何封装呢?比如:人类 class Human,有2只手(即const int hands=2)而不可能为别的数,但如何将const int hands=2做为Human的成员封装呢。请C++高手指教,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Maxwell
2000-08-11
打赏
举报
回复
class c
{
int i, j;
const int k;
c(int, int);
....
}
c::c(int a, int b):i(a), j(b), k(10)
{
...
}
:后面是一个初始化表,类的变量可以在这里初始化,常量则必须用这种方法,变量还可在函数体内赋初值.
如果父类的构造函数需要参数,也用这种方法传递,还有类中的类成员的构造函数的参数传递.
xubin_sh
2000-08-10
打赏
举报
回复
: 初始化成员变量或以给定的参数初始化基类,const型的成员变量只能用此方法初始化
见MSDN/Visual Studio 6.0 Documentation/Visual C++ Documentation/Reference/C/C++ Languages and C++ Libraries/C++ Language Reference
symansoft
2000-08-10
打赏
举报
回复
诸位好!
近来上网不太通畅,故耽误了些时日。以上所言极是,但 Rubin_sh所举例子的构造函数的写法(函数名后只用一个冒号)以前没见过,能否解释一下。
本问题经过是这样的,我想设计一Chess类,其中初始局势(棋子及位置)是固定的,也就是常数,用一常数数组表示,显然应封装在Chess类中。但用以上各位说的方法仍然不行,望继续指教为谢!
haitian99
2000-08-08
打赏
举报
回复
Class CHuman
{
public:
const static int hand;
}
int CHuman::hand=2;
xubin_sh
2000-08-08
打赏
举报
回复
to qiaoxh:其实,class中的const在class construct时是可以设置其值的
to haitian99:你的例子是错误的 int CHuman::hand=2 有编译错误:CHuman::hand不是静态成员变量
给个小例子吧
#include "iostream.h"
class CHuman
{
public:
const int hand;
CHuman(int int_value):hand(int_value){;}
};
int main(int argc, char* argv[])
{
CHuman normal_man(2);//ok
CHuman yang_guo(1);//ok
cout << normal_man.hand << endl;
cout << yang_guo.hand << endl;
/*
normal_man.hand = 5;//error,because hand is const
*/
return 0;
}
qianxh
2000-08-08
打赏
举报
回复
杨过属于后天有一只手,其它先天就只有一只或三只的情况相信也不会没有。何苦要较真?
不过本人提供一法,可达到你的目的:
class CHuman
{
private:
int Fhands;
public:
__property int hands={read=Fhands};
};
CHuman::CHuman()
{
Fhands=2;
}
huntout
2000-08-07
打赏
举报
回复
class Human
{
public:
enum { hands = 2 };
}
you can call it as below:
int n = Human::hands;
PHP面向对象学习之parent::关键字
前言 最近在做THINKPHP开发项目
中
,用到了 parent:: 关键字,实际上 parent::关键字 是PHP
中
常要用到的一个功能,这不仅仅是在 THINKPHP 项目开发
中
,即使是一个小型的企业站点,也会有许多相同的function功能,我们可以
封装
成一个父类
class
,然后多个子类直接继承公共部分父类。 PHP5
中
使用parent::来引用父类的方法。 parent:: 可用于调用父类
中
定义的成员方法。 parent::的追溯不仅于直接父类。 通过parent::调用父类方法 <!-- 声明一个员工类,经理类继承自员工类 --> <?
class
employee{
Java基础17.继承、
封装
、多态的实现原理
继承、
封装
、多态的实现原理 JVM 的结构 典型的 Java 虚拟机的运行时结构如下图所示 图 1.JVM 运行时结构 此结构
中
,我们只探讨和本文密切相关的方法区 (method area)。当程序运行需要某个类的定义时,载入子系统 (
class
loader subsystem) 装入所需的
class
文件,并在内部建立该类的类型信息,这个类型信息就存贮在方法区。类型信息一般包括该类的方法代码、类变量、成员变量的定义等等。可以说,类型信息就是类的 Java 文件在运行时的内部结构,包含了改类的所有在
android
封装
数据库操作,android
中
SQLiteOpenHelper的
封装
使用详解
在android
中
常用存储数据的基本就三种,sqlite,SharedPreferences,文件存储,其
中
针对于对象存储,使用sqlite比较多,因为可以对其进行增删改查。本文主要讲解SQLiteOpenHelper的
封装
使用,代码引用自https://github.com/iMeiji/Toutiao具体使用主要方法包括创建数据库和数据库的升级。构造函数:包含三个参数,context,name...
在Unity
中
常用到的一些安卓方法
封装
下面方法
中
包含一些常用的获取设备唯一标识符,网络状态,isp等信息。import java.io.File; import java.io.UnsupportedEncodingException; import java.net.URLEncoder;import com.unity3d.player.UnityPlayerActivity; import com.unity3d.player.U
php
封装
模式,PHP设计模式(三):
封装
Introduction面向对象编程
中
,一切都是对象,对一个对象的
封装
,也成了面向对象编程
中
必不可少的部分。和C/C++,Java,Python等语言一样,PHP也支持
封装
。
封装
/Encapsulation对事物的
封装
是指,将事物进行抽象后,提供抽象概念的实现的具体方法。听起来很拗口,还是举鲸鱼的例子。对于鲸鱼来说,需要吃东西这个行为,吃本身是一个抽象的概念,因为具体到怎么吃,是咀嚼和消化的过程,...
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章