C++ 如何在基类指针上顺序使用两个成员函数?

C++ 如何在基类指针上顺序使用两个成员函数?,c++,maps,base-class,member-function-pointers,C++,Maps,Base Class,Member Function Pointers,在基类指针上使用两个memeber函数时遇到一些问题。我有以下代码 cout << "Please input the translation vector. (x value ' ' y value)" << endl; cin >> Xtrans >> Ytrans; cout << endl; new_shape = Trans + user_input; // adds Tranaslated

在基类指针上使用两个memeber函数时遇到一些问题。我有以下代码

    cout << "Please input the translation vector. (x value ' ' y value)" << endl;
    cin >> Xtrans >> Ytrans; 
    cout << endl;
    new_shape = Trans + user_input;  // adds Tranaslated to the key

    for(it = shape_map.begin(); it != shape_map.end(); ++it){// loops over map (it is defined earlier)
        cout << endl;
        if( it->first == user_input){
        cout << "ID " << new_shape << " = " << endl;  // ouput the key witch also id's the shape
        it->second->translate(matrix(Xtrans, Ytrans))->printshape(); //<-this one
        }
    }
coutxtrans>>Ytrans;

翻译的签名是什么?它的回报是什么?(查看实际代码可能会有所帮助。)请显示
translate()
中的几行代码-它的签名、函数中返回值的声明以及
返回
行。是的,很抱歉,translate返回从多边形派生的类。这就是我在polygon
virtualpolygon*translate(class matrix&m)=0中定义它的方式
这是矩形
向量trans_顶点的translate函数;对于(自动i=顶点。开始();i!=顶点。结束();i++){trans_顶点。向后推(*i+m)}双transCx,transCy;transCx=centrex+m.getx();transCy=centrey+m.gety();返回新矩形(transCx、transCy、trans_顶点);}
很抱歉格式不好。调试中突出显示的问题似乎是
+m.gety()
位,因为它返回到另一个类中的
gety()
函数,我使用该函数将点存储为矩阵(1x2)。
gety()
函数是
double-matrix::gety(){return-coords[1];}