请问如何 在创建B对话框对象的时候,让这个指针指向A对话框对象呢 能不能举例说明下

 我来答
百度网友113faafa67c
2011-01-24 · TA获得超过1839个赞
知道小有建树答主
回答量:1200
采纳率:0%
帮助的人:922万
展开全部
#include <stdlib.h>
#include <stdio.h>

static void
sub_print(int i)

static void
add_print(int i)

static void
data(const char *name, void (*func)(int)) {
int array[] = ;
size_t array_size = sizeof array/sizeof array[0];
size_t i = 0;

printf("%s:\n", name);
for (; i<array_size; ++i)
(*func)(array[i]);
}

int
main(void) {
char *names[] = ;
void (*func_ptr[])(int) = ;
size_t func_count = sizeof func_ptr/sizeof func_ptr[0];
size_t i = 0;

for (; i<func_count; ++i) {
data(names[i], func_ptr[i]);
printf("\n");
}

exit(0);
}
##########################################################
以上程序使用 v3.4.6 gcc -ansi -pedantic -W -Wall 编译通过。

两个函数sub_print 和add_print分别输出参数减一和加一后的值,函数原型均为 void foo(int),定义函数指针数组 void (*func_ptr[])(int) = ;

再定义一个函数data,接受一个指针指向类型为void foo(int)的函数,因此这个指针的定义为void (*foo)(int),和普通的指向int的指针类型为int * 的变化规律是相似的,调用的话也与普通指针相似:在前面加一个星号,变成 (*func)()。

函数指针只是看起来复杂,但实际上变化规律和普通指针是近乎相同的,只不过注意多加括号就是了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈宗权8d804
2011-01-23 · TA获得超过3766个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:942万
展开全部
ADlg a;
a.显示();
.....
BDlg b;
b.pa = &a;
b.显示();
...
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式