帮帮我,急急急!!!

yanhuahui 2001-09-13 07:51:41
定义一个普通类,例如:
Class Bomb
{
public:
int isbomb;//决定初始时是否是雷
bool issel; //判断区域是否被处理过且周围
有雷
bool isdone;//判断递归时是否被处理过
int num; //周围雷数
bool findbomb; //排雷者认为是雷时置一(但
是不一定真是雷)
}
然后为什么不能定义
Bomb bomb[20][20];
第二个问题:
在一个类中添加一个函数,这个函数不需要message传送,怎么弄
比如:
void CCBombAppView::OnLButtonDown(UINT nFlags, CPoint point)
{
Bomb bomb[20][20];
virtual void Rand() const;
void Rand()
{

}
}
这个为什么不行!

...全文
187 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiyutao2010 2001-09-15
  • 打赏
  • 举报
回复
gz
yanhuahui 2001-09-15
  • 打赏
  • 举报
回复
sorry!不过我很感谢你!41387193有空聊聊!!!!!
某鸟 2001-09-15
  • 打赏
  • 举报
回复
我倒!@_@

5555~~~~
I have no QQ!
yanhuahui 2001-09-15
  • 打赏
  • 举报
回复
谢谢各位:后来发现原来我定义了两次Bomb类,后来生成两个类的头文件;#include就乱了
azuo_lee 2001-09-14
  • 打赏
  • 举报
回复
#include "Bomb1.h"?
azuo_lee 2001-09-14
  • 打赏
  • 举报
回复
我原样照贴,一个字没改:
class Bomb
{
public:
public:
int isbomb;//决定初始时是否是雷
bool issel; //判断区域是否被处理过且周围
//有雷
bool isdone;//判断递归时是否被处理过
int num; //周围雷数
bool findbomb; //排雷者认为是雷时置一(但
//是不一定真是雷)

public:
Bomb();
virtual ~Bomb();

};

然后对构造函数和析构函数定义:
Bomb::Bomb()
{
TRACE("Bomb constructor");
}

Bomb::~Bomb()
{
TRACE("Bomb destructor");
}

最后在某个函数中:
Bomb bomb[20][20];

没有任何问题,一切正常。

缺省构造函数就是那个不带参数的构造函数,你如果不定以任何构造函数,编译器会为你做一个;你如果定义了任何的有参数构造函数,那么编译器不会为你自动生成缺省构造函数,你必须自己定义一个。
yanhuahui 2001-09-14
  • 打赏
  • 举报
回复
兄弟,留下qq
yanhuahui 2001-09-14
  • 打赏
  • 举报
回复
第二个问题我已经解决了,只剩下第一个问题,其实第二个问题不必函数说明就可以了。
现在大家快来帮我解决第二个问题,谢谢大家!急急急!!!!!
yanhuahui 2001-09-14
  • 打赏
  • 举报
回复
忘了说清楚,我是用vc++编的,上面抄错了了,应该是:
#if !defined(AFX_BOMB1_H__3960EDB5_4358_4D12_B011_ACDAE39F7258__INCLUDED_)
#define AFX_BOMB1_H__3960EDB5_4358_4D12_B011_ACDAE39F7258__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class Bomb
{
public:
public:
int isbomb;//决定初始时是否是雷
bool issel; //判断区域是否被处理过且周围
//有雷
bool isdone;//判断递归时是否被处理过
int num; //周围雷数
bool findbomb; //排雷者认为是雷时置一(但
//是不一定真是雷)

public:
Bomb();
virtual ~Bomb();

};

#endif // !defined(AFX_BOMB1_H__3960EDB5_4358_4D12_B011_ACDAE39F7258__INCLUDED_)
这个定义应该没错,关键是我想在void CCBombAppView::OnLButtonDown(UINT nFlags, CPoint point)这个函数中定义Bomb bomb[20][20] 为什么不行?错在哪里?
yanhuahui 2001-09-14
  • 打赏
  • 举报
回复
在Workspace的ClassView中选中CBombView,右击鼠标,让ClassWizard添加,但如果里面的函数是普通函数,不需要objectID那该怎么办呢?
azuo_lee():上面不是有构造函数呀!你说得缺省构造函数是什么意思?我觉得定义方式跟你差不多呀。你那种方式是c++吧,vc++有没有区别呢?

21bird(世纪菜鸟):你的构造函数呢?你的默认函数不能接受这种使用方法! 这个将具体点!谢谢了!
yanhuahui 2001-09-14
  • 打赏
  • 举报
回复
留下qq好吧,交个朋友
某鸟 2001-09-14
  • 打赏
  • 举报
回复
对此,我坚持自己的看法!

to azuo_lee():
你这种写法,也许肯定行!但是,yanhuahui的写法就不一定行!

另,找一下,有没有多余的空格,你的定义有两个public,看看他后面有没有多余的.....
azuo_lee 2001-09-14
  • 打赏
  • 举报
回复
当然可以,前提是这个类必须有缺省构造函数。
class A {};
A a[20][20];
肯定可以。
yanhuahui 2001-09-14
  • 打赏
  • 举报
回复
类能不能定义的像数组一样,如bomb[20][20];
shiyutao2010 2001-09-13
  • 打赏
  • 举报
回复
gz
azuo_lee 2001-09-13
  • 打赏
  • 举报
回复
第一个问题:
谁说不能定义?——但是请把Class改成class,在“}”的后边加上分号。编译器会为你制作缺省构造函数,这不是问题。正相反,如果你提供了任意的带参数构造函数,而未提供缺省构造函数,那么这个语法肯定通不过。

第二个问题:
为类添加函数,应在类中添加,而不是在函数中添加。C++不允许函数嵌套定义。在Workspace的ClassView中选中CBombView,右击鼠标,让ClassWizard帮你添加,可以省掉自己写函数定义的麻烦。
某鸟 2001-09-13
  • 打赏
  • 举报
回复
第二个问题:据我所知,C/C++中绝对不能在一个函数中定义另一个(C++的内联函数除外)函数!

以我看,还是把rand()放在类里面吧!private就行了!
luckyegg 2001-09-13
  • 打赏
  • 举报
回复
大家快来看。
某鸟 2001-09-13
  • 打赏
  • 举报
回复
你的构造函数呢?
你的默认函数不能接受这种使用方法!
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧