한시간째 고민중인데ㅜ
constructor에서 argument로 reference를 주니까 되는데, 직접 넣으니까 벡터 앞에 데이터 두개가 손실댐
class Vector_container : public Container { // ":public" : "is derived from" or "is a subtype of"
private:
Vector v;
public:
Vector_container(int s): v(s) {}
Vector_container(Vector& vec): v{vec} {}
~Vector_container() {}
이건되는데
Vector_container(Vector vec): v{vec} {}
이렇게하니까 온전하게 못받아..
메인:
Vector prime {2, 3, 5, 7, 11, 13};
print(prime);
Vector_container prime_container(prime);
use(prime_container);
1번출력:
2 3 5 7 11 13
2 3 5 7 11 13
2번출력:
2 3 5 7 11 13
1.34729e-311 1.34729e-311 5 7 11 13
Vector에 생성자 뭐 있냐
Vector(std::initializer_list lst) :elem{new double[lst.size()]}, sz{static_cast(lst.size())} //std uses unsigned int for size, need casting /* avoid explict type conversion at high level programming */ { std::copy(lst.begin(), lst.end(), elem); }
아니 그거 말고 복사 생성자 뭐임
그게뭔지몰랏음ㅋㅋ첨배우는거라 프갤에서알려줌
뭔가 한참봤네 ㅋㅋ std::vector가 아니라 직접 만든거구만 ㅋㅋㅋ - dc App
이럴땐 당연히 Vector 클래스 전체를 보여줘야지 그거 보여줘도 아무도 안가져간다 - dc App
그게 문제일줄 몰랐음 프갤에서 말해줘서 코드보여줫더니 알려줌