C++ 结构体指针的问题

C++ 结构体指针的问题

我想你说的不是结构体的名字吧???是声名成为结构体型的对象的名字吧???结构体名,用作结构体类型的标志。就好像int 我个人理解是,List b是分配给对象b一个List型的空间,List *a就是List型指针。List *a;List b;a=&b;a->Insert();b.Insert();a=&b;有它的缺点,如果是派生类的话,调用函数也是先调用基类中的同名成员函数。这就得用virtual来解决。如#include using namespace std;class A {public:virtual void fun0() {cout << "A::fun0 (virtual)" << endl;}void fun1() { cout << "A::fun1" << endl; }void fun2() { cout << "A::fun2" << endl; }};class B : public A {public:void fun0() { cout << "B::fun0 (virtual)" << endl; }void fun1() { cout << "B::fun1" << endl; }void fun3() { cout << "B::fun3" << endl; }};int main(){A *pa = new A;B *pb = (B*)pa;pb->fun0();pb->fun1();pb->fun2();pb->fun3();return 0;}