1 首先创建一个基类和一个子类,注意定义了Print函数用于测试,并且是虚函数 2 定义存储指向子类的基类智能指针变量,然后调用dynamic_pointer_cast转换为类型为子类的智能指针变量 3 编译运行输出的打印信息如下,能够正常调用子类的Print函数 4 定义存储指向子类的子类智能指针变量,然后调用dynamic_pointer_cast转换为类...
(bar);//指针转换 std::cout << "foo's static type: " << foo->static_type << '\n'; std::cout << "foo's dynamic type: " << foo->dynamic_type << '\n'; std::cout << "bar's static type: " << bar->static_type << '\n'; std::cout << "bar's dynamic type: " <...
迭代器类型的Pointer-like和智能指针的Pointer-like有一定的区别。 作为迭代器,他将一个对象(结构体或类产生的对象)的指针包装为一个迭代器(类指针对象),例如链表的某个节点指针,这样,在他的内部重载多个操作符,比如“*”、“->”、“++”、“--”、“==”、“!=”等,分别对应链表节点之间的取值、调用、右...