定义一个数组模板类CMyArray,定义一个普通类CPT,在类CMyClass中定义CMyArray <CPT> test;现在要把test作为参数传递给CMyClass的成员函数 fun,fun函数声明时,接收test的参数类型应该怎样写?
声明函数时,fun接收test的参数类型应为 CPT / CPT * / 还是其他类型?
我想把它指定为CPT* 类型,不知对不对?调用函数时,fun参数应该怎样写?先谢了各位!

解决方案 »

  1.   

    >>声明函数时,fun接收test的参数类型应为 CPT / CPT * / 还是其他类型?
    >>我想把它指定为CPT* 类型,不知对不对? 如果你声明成这样的话,那么fun只能传进test[i], 你接收的是数组的一个元素>>调用函数时,fun参数应该怎样写?如果你这个函数只想用于CPT类的话,那么就声明成fun(CPI)吧.如果想用数组,那就声明成fun(CMyArray<CPT>)我用STL写了个例子,看了你就明白了.==================================================================================
    #include <iostream>
    #include <string>
    #include <vector>bool fun_print(std::vector<std::string> arr)
    {
        std::vector<std::string>::iterator iter = arr.begin();
        for (; iter != arr.end(); ++iter)
        {
            std::cout << *iter << "\n";
        }
        return true;
    }int main()
    {
        std::vector<std::string> arr_str;
        arr_str.push_back("This ");
        arr_str.push_back("is ");
        arr_str.push_back("a ");
        arr_str.push_back("demo");
        
        fun_print ( arr_str );
        
        system("pause");
    }
      

  2.   

    CMyArray <CPT>& test
      

  3.   

    谢了   119365374(砖头)   yangyong1980919(山那边的小子)   给分!