69,371
社区成员
发帖
与我相关
我的任务
分享
class B {virtual void f();};
class D : public B {virtual void f();};
void f() {
B* pb = new D; // unclear but ok
B* pb2 = new B;
D* pd = dynamic_cast<D*>(pb); // ok: pb actually points to a D
D* pd2 = dynamic_cast<D*>(pb2); // pb2 points to a B not a D
}
char * p1;
void main()
{
char a[100];
char *p2 = (char *)malloc(1000000);
p1=(char *)malloc(1000000);
}
struct A
{
void fun1()
{
cout <<"1";
}
};
struct B:public A
{
void fun2(A *a)
{
cout <<"2";
}
};
void main()
{
A a;
B *b=static_cast <B*>(&a);
b->fun2(&a);
cout <<3 <<endl;
}
struct A
{
void fun1()
{
cout <<"1";
}
};
struct B:public A
{
void fun2(A *a)
{
cout <<"2";
}
};
void main()
{
A a;
B *b=dynamic_cast <B*>(&a);
b->fun2(&a);
cout <<3 <<endl;
}
struct A
{
virtual void fun1()
{
cout <<"1";
}
};
struct B:public A
{
virtual void fun2(A *a)
{
cout <<"2";
}
};
void main()
{
A a;
B *b=static_cast <B*>(&a);
b->fun2(&a);
cout <<3 <<endl;
}
struct A
{
virtual void fun1()
{
cout <<"1";
}
};
struct B:public A
{
virtual void fun2(A *a)
{
cout <<"2";
}
};
void main()
{
A a;
B *b=dynamic_cast<B*>(&a);
b->fun2(&a);
cout <<3 <<endl;
}