社区
C++ 语言
帖子详情
类构造函数
liooi
2009-11-16 03:21:31
请教下各位高手,类中有个数组,通过构造函数参数如何确定数组的个数
例:
class foo
{
public:
foo(int count):m_nCount(count){};
~foo();
private:
int m_nCount;
int m_Arr[m_nCount];
};
这个 m_count 一定得是常量么,能通过类传入参数改变么?
...全文
103
13
打赏
收藏
类构造函数
请教下各位高手,类中有个数组,通过构造函数参数如何确定数组的个数 例: class foo { public: foo(int count):m_nCount(count){}; ~foo(); private: int m_nCount; int m_Arr[m_nCount]; }; 这个 m_count 一定得是常量么,能通过类传入参数改变么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feilongjilei
2009-11-16
打赏
举报
回复
template <size_t N>
class foo
{
public:
~foo();
private:
int m_Arr[N];
};
好像这样也可以吧?
liooi
2009-11-16
打赏
举报
回复
多谢各位了。
xingzhe2001
2009-11-16
打赏
举报
回复
vector应该是最好的解决方案。
liooi
2009-11-16
打赏
举报
回复
[Quote=引用 6 楼 xingzhe2001 的回复:]
引用 5 楼 liooi 的回复:
引用 1 楼 loaden 的回复:
如果你用VC编译器,那m_count一定得是常量!
因为VC不支持C99
通过类传入参数决定类中数组的个数,该如何解决? 请教
int m_Arr[m_nCount];
直接这样是不行的。
[/Quote]
不想用vector,
int* m_Arr;
构造函数里 m_Arr = new int[count];
这样用应该是可以! 是最好的解决方案么?
aaron0211
2009-11-16
打赏
举报
回复
题外话:
foo(int count):m_nCount(count){};
中的分号该去掉吧
newhying
2009-11-16
打赏
举报
回复
class foo
{
public:
foo(int count):m_nCount(count)
{
m_Arr = new int[m_nCount];
};
~foo
(
delete[] m_Arr;
);
private:
int m_nCount;
int* m_Arr;
};
只有这样。
老邓
2009-11-16
打赏
举报
回复
[Quote=引用 5 楼 liooi 的回复:]
引用 1 楼 loaden 的回复:
如果你用VC编译器,那m_count一定得是常量!
因为VC不支持C99
通过类传入参数决定类中数组的个数,该如何解决? 请教
int m_Arr[m_nCount];
[/Quote]
那只能使用vector<int>或者动态数组了。
推荐vector<int>,因为安全、通用。
vector<int> v;
v.resize(count)
然后:
v[0]
v[1]
...访问
xingzhe2001
2009-11-16
打赏
举报
回复
[Quote=引用 5 楼 liooi 的回复:]
引用 1 楼 loaden 的回复:
如果你用VC编译器,那m_count一定得是常量!
因为VC不支持C99
通过类传入参数决定类中数组的个数,该如何解决? 请教
int m_Arr[m_nCount];
[/Quote]
直接这样是不行的。
liooi
2009-11-16
打赏
举报
回复
[Quote=引用 1 楼 loaden 的回复:]
如果你用VC编译器,那m_count一定得是常量!
因为VC不支持C99
[/Quote]
通过类传入参数决定类中数组的个数,该如何解决? 请教
int m_Arr[m_nCount];
ArmStronger
2009-11-16
打赏
举报
回复
Loaden速度真快!
xingzhe2001
2009-11-16
打赏
举报
回复
你可以用动态数组阿或者你都用c++了,就用vector吧
动态数组:
int* m_Arr;
构造函数里 m_Arr = new int[count];
vector:
vector<int> m_Arr;
老邓
2009-11-16
打赏
举报
回复
你可以使用:std::vector<int>来替换。
推荐。
老邓
2009-11-16
打赏
举报
回复
如果你用VC编译器,那m_count一定得是常量!
因为VC不支持C99
面向对象和
构造函数
JavaSE就是一种标准版,是Java中的基础部分,Java各种框架和产品都是基于JavaSE,也就是JavaSE是Java向上发展的基础...JavaSE 包含了支持Java Web服务开发的
类
,并为Java Platform和Enterprise Edition提供基础供基础。
Matlab中
类
构造函数
方法
类
构造函数
方法
类
构造函数
方法的目的
构造函数
方法的基本结构
构造函数
的指导原则 默认
构造函数
何时定义
构造函数
初始化
构造函数
中的对象
构造函数
不要求输入参数的情况 子
类
构造函数
对继承的
构造函数
的...
C++:派生
类
构造函数
派生
类
构造函数
默认情况 基
类
的
构造函数
不被继承; 派生
类
需要定义自己的
构造函数
。 C++11规定 using B::B; 派生
类
新增成员可以通过
类
内初始值进行初始化。 可用using语句继承基
类
构造函数
。但是...
派生
类
构造函数
的定义和使用举例
1.派生
类
构造函数
的一般形式为:派生
类
构造函数
名(总参数表):基
类
构造函数
名(参数表){ 派生
类
中新增加数据成员初始化语句}2.在建立一个对象时,执行
构造函数
的顺序是:a.派生
类
构造函数
先调用基
类
构造函数
;b....
C++继承派生
类
构造函数
的写法
C++有三大思想:抽象与封装、继承与派生、多态性,是c++开发人员面对对象编程必须掌握的知识。 初学者对子
类
继承中
构造函数
的写法有时会存在一些问题。即子
类
继承基
类
时,子
类
的...②再执行派生
类
构造函数
本身(...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章