پردازش class :vector<Foo> و Foo در یک تابع - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

پردازش class :vector<Foo> و Foo در یک تابع

+1 امتیاز

سلام.

آیا راهی وجود داره که با یک تابع مقادیر vector و Foo را چاپ کنم؟

class Foo{
public:
    int x;
    int y;
};
using Foos = vector<Foo>;
class FooVec : public vector<Foo>{};
template <typename T>
void test(const T vec){
    for (auto& item : vec)
        cout << item.x;
}
int main(){
    //FooVec foos;
    //test(foos);
    Foo f;
    
    test(f);
}

 

سوال شده خرداد 28, 1393  بوسیله ی Xavi (امتیاز 627)   24 83 110
دوباره تگ گذاری شد مرداد 28, 1393 بوسیله ی BlueBlade

1 پاسخ

0 امتیاز

با اضافه کردن یک speciliazation دیگه برای function template شدنیه 

class Foo{
public:
    int x;
    int y;
};
using Foos = vector<Foo>;
class FooVec : public vector<Foo>{};
template <typename T>
void test(const T vec){
    for (auto& item : vec)
        cout << item.x;
}

template <>
void test(const Foo f){
        cout << f.x;
}

int main(){
    FooVec foos;
    test(foos);
    Foo f;
    test(f);
}

 

پاسخ داده شده خرداد 30, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...