C++面向对象程序设计 032:这个模板并不难 ---- (北大Mooc)


专题博客链接

北大C++ POJ课后习题博客全解记录


原题题目

在这里插入图片描述

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
template <class T>  
class myclass {
    
    
// 在此处补充你的代码
~myclass( ) {
    
    
		delete [] p;
	}
	void Show()
	{
    
    
		for( int i = 0;i < size;i ++ ) {
    
    
			cout << p[i] << ",";
		}
		cout << endl;
	}
};
int a[100];
int main() {
    
    
	char line[100];
	while( cin >> line ) {
    
    
		myclass<char> obj(line,strlen(line));;
		obj.Show();
		int n;
		cin >> n;
		for(int i = 0;i < n; ++i)
			cin >> a[i];
		myclass<int> obj2(a,n);
		obj2.Show();
	}
	return 0;
}

代码实现

private:
    T* p;
    int size;
public:
    myclass(const T* T1,int temp){
    
    
        T* ret = new T[temp+1];
        memcpy(ret,T1,sizeof(T)*(temp+1));
        p = ret;
        size = temp;
    }

猜你喜欢

转载自blog.csdn.net/qq_37500516/article/details/115008226