- 论坛徽章:
- 0
|
哪位高手帮忙看一下:怎么样将一组字符串传到构造函数里?用 char* 还是二维数组?
这里有个列子,就是传不过去
1 #include<iostream>
2 using namespace std;
3 #include<cstring>
4 class Playlist{
5 int n;
6 char** names;
7 public:
8 Playlist(int m, char* p){
9 n = m;
10 names = new char*[n];
11 for(int i = 0; i < n ; ++i)
12 names = new char[20];
13 for(int i = 0; i < n; ++i)
14 strcpy(names, p);
15 }
16 ~Playlist()
17 {
18 delete[] names; names = NULL;
19 }
20 friend ostream& operator<<(ostream&, const Playlist& );
21 };
22 ostream& operator<<(ostream& o, const Playlist& s)
23 {
24 o << s.n << ' ';
25 for(int i = 0; i < s.n; ++i)
26 o << s.names;
27 return o;
28 }
29 int main()
30 {
31 char a[2][20] = {"yu","fang"};
32 Playlist s1(2,a);
33 cout << s1 << endl;
34 // s1 += "mjb";
35 // cout << s1 << endl;
36 }
37 |
|