如何在C++;在一个文件中调用另一个文件? 如何正确地定义一个文件中的C++函数,并在不使用头文件的情况下调用另一个文件中的函数?我的老师说我会使用头文件,但教授告诉我们不要这样做。我的文件一直有很多编译问题,处理我不存在的函数。感谢您的帮助。我的程序应该使用选择排序按升序排序,使用冒泡排序按降序排序
这是我到目前为止所拥有的。这是我的司机 Driver.cpp如何在C++;在一个文件中调用另一个文件? 如何正确地定义一个文件中的C++函数,并在不使用头文件的情况下调用另一个文件中的函数?我的老师说我会使用头文件,但教授告诉我们不要这样做。我的文件一直有很多编译问题,处理我不存在的函数。感谢您的帮助。我的程序应该使用选择排序按升序排序,使用冒泡排序按降序排序,c++,function,sorting,bubble-sort,selection-sort,C++,Function,Sorting,Bubble Sort,Selection Sort,这是我到目前为止所拥有的。这是我的司机 Driver.cpp #include "selection.cpp" #include "bubble.cpp" #define ArraySize 10 //size of the array #define Seed 1 //seed used to generate random number int values[ArraySize]; int main(int argc, char** argv) { int i;
#include "selection.cpp"
#include "bubble.cpp"
#define ArraySize 10 //size of the array
#define Seed 1 //seed used to generate random number
int values[ArraySize];
int main(int argc, char** argv) {
int i;
//seed random number generator
srand(Seed);
//Fill array with random integers
for(i=0;i<ArraySize;i++)
values[i] = rand();
cout << "\n Numbers in array." << endl;
for(i=0;i<ArraySize; i++)
cout << &values[i]<< "\n";
int* array_p[] = values[];
//Function call for BubbleSort
bubblesort(array_p[], ArraySize);
for (i=0;i<ArraySize; i++)
cout << &values[i] << "\n";
//SelectionSort
selectionsort(array_p, ArraySize);
cout << "Numbers in ascending order." << endl;
for (i=0;i<ArraySize; i++)
cout << &values[i] << "\n";
return 0;
}
#包括“selection.cpp”
#包括“bubble.cpp”
#定义数组大小10//数组大小
#定义种子1//用于生成随机数的种子
int值[ArraySize];
int main(int argc,字符**argv){
int i;
//种子随机数发生器
srand(种子);
//用随机整数填充数组
对于(i=0;i只需写入
int* bubblesort(int values[], int size);
在要调用该函数的其他源文件中(在调用之前)
请注意,如果不使用头文件,则必须手动注意,如果在一个文件中更改返回类型或参数列表,则在所有文件中进行相同的更改
还有几件事:
您可能想考虑将返回语句移动到函数的末尾,而不是返回第一次交换的时刻。或者更好地,函数返回“代码>空格”-调用方已经知道了值,因为他刚刚调用函数,所以它没有什么可以返回它。
不行,非常感谢。还有一个问题。(希望如此)如何在冒泡排序和选择排序函数中使用驱动程序中定义的同一数组?这就是您当前正在做的事情,谢谢。这意味着我可以去掉行int*array\u p=values;
,因为我已经从其他两个文件中指向函数了。是的,您可以去掉该行,然后使用值
作为传递给函数的对象。(无论如何,它是在“幕后”通过指针传递的)。
#include <iostream>
int *selectionsort(int values[], int size){
for(int i=0; i<size-1; i++){
for(int j=0; j<size; j++){
if(values[i] < values[j]){
int temp = values[i];
values[i] = values[j];
values[j] = temp;
return values;
}
}
}
};
int* bubblesort(int values[], int size);