有几个试题,帮忙解决一下。

ccittbeauty 2004-04-06 06:53:16
1.请写出下面程序的运行结果:
#include <iostream>
using namespace std;

class base{
public:
base(){ m = 0;}
int m;
virtual void f(){cout << “base::f()”<<endl;};
};

class child: public base{
public:
child(){m = 1;}
int m;
virtual void f(){cout << “child::f()”<<endl;};
};

main()
{
child* pc;
base* pb;

pc = new child;
pb = (base*) pc;
cout << pb->m <<endl;
pb->f();

delete pc;

return 0;
}


2. 请说明CMutex, CSemaphore, CCriticalSection的作用和区别.


3. 请解释以下代码和代码中每个函数的含义,请特别说明IsDialogMessage函数.
while (GetMessage (&msg, NULL, 0, 0))
{
if (!IsDialogMessage(hDialog, &msg))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
}

...全文
53 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
enoloo 2004-04-06
  • 打赏
  • 举报
回复
When IsDialogMessage processes a message, it checks for keyboard messages and converts them into selections for the corresponding dialog box. For example, the TAB key, when pressed, selects the next control or group of controls, and the DOWN ARROW key, when pressed, selects the next control in a group.
enoloo 2004-04-06
  • 打赏
  • 举报
回复
3,The IsDialogMessage function determines whether a message is intended for the specified dialog box and, if it is, processes the message.
vcforever 2004-04-06
  • 打赏
  • 举报
回复
1.
0
child::f()

2.
CMutex:是MFC中用来进行多线程访问共享资源时,进行资源同步的互斥对象,使用起来要比windows中的Mutex对象简单的多例如:
CMutex m_mutex;
m_mutex.Lock();
//访问共享资源
m_mutex.Unlock();

CSemaphore:和上面的CMutex基本相同,也是MFC中用来进行线程同步的类
CCriticalSection:这个临界区对象在线程同步的时候使用的比较多,因为他不是核心对象,运行起来的速度要比以上两个快,效率要高!

3.这个函数是判断发送过来的消息是不是属于hDialog这个句柄所标识的窗口,如果是就处理这个消息,如果不是将不做任何处理,该函数的原形如下

BOOL IsDialogMessage(
HWND hDlg, // handle to dialog box
LPMSG lpMsg // message to be checked
);
enoloo 2004-04-06
  • 打赏
  • 举报
回复
1,0,child::f()
2,在线查msdn.
ccittbeauty 2004-04-06
  • 打赏
  • 举报
回复
我现在在网吧,没有VC,你帮下忙试试。还有第二、三个题,九点钟之前解决就结账。
醉马不肖 2004-04-06
  • 打赏
  • 举报
回复
运行一下不就出来了吗?
相关推荐
发帖
VC/MFC

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
帖子事件
创建了帖子
2004-04-06 06:53
社区公告

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