포인터 클래스를 포함하는 복사

1251 단어 면접 문제
제목: 다음은 하나의 그룹 클래스의 성명과 실현입니다.이 유형에 무슨 문제가 있는지 분석하고 존재하는 문제에 대해 몇 가지 해결 방안을 제시하세요.
#include "iostream"  
#include <algorithm>
#include <functional>
using namespace std;

template<typename T> class Array { 
public:      
	Array(unsigned arraySize):data(0), size(arraySize)      {            
		if(size > 0)                  
			data = new T[size];      
	}
	~Array()      {            
		if(data) 
			delete[] data;      
	}
	void setValue(unsigned index, const T& value)      {            
		if(index < size)                  
			data[index] = value;      
	}
	T getValue(unsigned index) const      {            
		if(index < size)                  
			return data[index];            
		else                  
			return T();      
	}
private:      
	T* data;      
	unsigned size; 
};


int main(void){
	Array<int>a(3);
	Array<int>b(4);
	b=a;
	a.setValue(0,0);
	a.setValue(1,1);
	a.setValue(2,2);

	b.~Array();
	cout<<a.getValue(2);
    return 0;
}

우리는 대학에서 이런 종류의 성질과 문법에 대한 주의점을 기본적으로 소홀히 했다. 이 문제는 바로 이 점을 보완할 수 있다. 가르침을 받았다. 상세한 설명은 프로그래머 면접에서 100문제를 정밀하게 설명하는 것을 보고 잘 보아야 한다.
보다http://zhedahht.blog.163.com/blog/static/25411174200722710364233/

좋은 웹페이지 즐겨찾기