В настоящее время я пытаюсь перегрузить оператор +
, чтобы объединить два массива типа T
, но я наносил удар по стене в течение последнего часа или около того. Я хочу сделать это, не используя stl
, потому что я новичок в C++
, и я хочу получить хороший контроль над реализацией классов перед использованием стандартных.Объединение двух массивов типа T в C++
Контекст будет состоять в том, что я в настоящее время разрабатываю собственный класс vector
, используя шаблонный динамически выделенный массив.
Поэтому то, что я заинтересован в в этой точке перегрузки оператора +
так, что при выполнении c = a + b
внутри основной функции, где a , b , c
являются Vector<T>
объекты, c
бы стать сочетание этих двух (конкатенации).
Я не могу поверить в это, поскольку функция, определяющая поведение оператора, может обрабатывать не более одного параметра.
Может ли кто-нибудь предложить какие-либо идеи?
'Контекст будет то, что я в настоящее время разрабатывает векторный класс моей помощью шаблонного динамически распределяемой array.' я просто расскажу вы, что я еще не видел новичка, правильно пишут такой класс без помощи опытных программистов. – PaulMcKenzie
'то, что меня интересует в этот момент, - это перегрузка оператора +, так что при выполнении c = a + b' перегрузить' + = 'сначала, а затем реализовать' operator + 'в терминах' + = '. И, по крайней мере, отправьте свой код. Как сказал мой предыдущий комментарий, есть хороший шанс, что вы делаете вещи в корне неправильно. – PaulMcKenzie
Другим параметром является сам вызывающий объект. Таким образом, a + b читается как a.оператор + (const T & b). – itachi