Я новичок в C++ и имею проблемы с функциями, которые не кажутся немного необычными (или, может быть, я просто не знаю правильного имени). Я создал вектор класса, который должен работать как вектор C++, но, вероятно, немного проще. Я знаю, что по возможности вы должны использовать уже существующие классы, но для практики я хочу создать собственный векторный класс.вызов функции без объекта в C++
Так что я хочу просто создать функцию, которую можно назвать как-то «автономной». Ранее мне удалось создать скалярную функцию (вычисляет скалярное произведение), который можно назвать как,
myVector v1(5);
myVector v2(5);
for(int i=0; i<5; i++){ //missing proper function here, this is not part of the question
v1[i] = i;
v2[i] = i+1;
}
double prod = v1.scalar(v1,v2);
//or better
double prod2 = v1.scalar(v2);
Однако то, что я действительно хочу сделать, это создать функцию, которая не нуждается для работы на объекте к работе , Я хочу использовать функцию что-то вроде
double prod3 = scalar(v1,v2);
Это возможно и где я должен определить функцию. Я хочу, чтобы он имел свойства обычной функции, а не встроенную функцию, если это возможно. Кроме того, если такие функции имеют имя, я был бы рад узнать.
/BR Patrik
свободная функция? Это та же идея, но вне класса. – chris
Это имя? Благодарю. где вы его определяете (кроме основного файла)? – patrik
@patrik: Официальное название - это «функция, не являющаяся членом» или просто «функция». Вы можете определить их в любом исходном файле, вне любых других определений классов или функций, внутри или за пределами пространства имен. Ваша вступительная книга должна подробно описывать определения функций. –