搞清objc的重载以及void指针
两个类:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@interface
MyClass :
NSObject{}
-
(void)show;
@end
@implementation
MyClass
-
(void)show
{
NSLog(@"MyClass");
}
@end
@interface
MySubClass :
MyClass
{}
@end
@implementation
MySubClass
-
(void)show
{
NSLog(@"MySubClass");
}
@end
|
一个临时函数:
|
1
2
3
4
|
-
(void)show:(void
*)temp {
MyClass
*mc = (MyClass *)temp;
[mc
show];
}
|
在主函数中调用:
|
1
2
3
|
MySubClass
*msc = [[MySubClass
alloc]
init];
void
*temp = (void
*)msc;
[self
show:temp];
|
控制台的结果:
MySubClass
本文通过一个Objective-C的示例介绍了类继承与方法调用的过程,演示了如何使用void指针传递不同类型的对象,并在运行时确定其类型并调用相应的方法。
357

被折叠的 条评论
为什么被折叠?



