编程论坛
注册
登录
编程论坛
→
C++教室
请教个类指针的问题!!!
saltss
发布于 2008-10-16 17:04, 753 次点击
((类名 *)类指针)->类成员函数(void)
前面的“类名*”是什么意思,有什么作用?
谢谢!!!
[[it] 本帖最后由 saltss 于 2008-10-16 17:07 编辑 [/it]]
6 回复
#2
choco1024
2008-10-16 17:29
给个例子先
#3
debroa723
2008-10-16 18:45
类名* 是强转,它告诉编译器,我后面的那个符号是一个指针,它是"类名"的对象指针。
在类继承里会用到它。将一个子类强转成父类。
当然语法上可以将任何类型的指针强转成某个类的指针,不过实践中你的确保它的安全性,不然出错了可别找我。
#4
saltss
2008-10-16 22:50
哦,谢谢了!!!
#5
wyy123_2008
2008-10-16 22:51
我还是不太懂哎
#6
saltss
2008-10-16 22:56
#include<iostream>
using namespace std;
class A{
public:
virtual void fa(void){cout<<"A::fa1"<<endl;}
void fb(void){cout<<"A::fb2"<<endl;}
};
class B:public A{
public:
void fa(void){cout<<"B::fa1"<<endl;}
void fb(void){cout<<"B::fb2"<<endl;}
};
void main(){
A *pa=new A;
A *pb=new B;
pa->fa();
pb->fb();
pb->fa();
pb->A::fa();
((B*)pb)->fb();
}
测试程序
#7
kakaqq
2008-10-17 11:27
(int *)
(类名 *)
这不都一样吗
用class 类名定义的也是一种数据类型。这个类名有什么问题?
1