我是C ++的新手:我想将部分源代码放入另一个源文件,并能够通过从第一个文件中调出来执行第二个文件的源代码,这甚至可能吗?我很感激一些指导。
以下示例程序将X输出到Linux控制台的随机位置。
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <chrono> //slow down
#include <thread> //slow down
using namespace std;
void gotoxy(int x,int y)
{
printf("%c[%d;%df",0x1B,y,x);
}
int main()
{
int x=1;
int y=1;
int b=1;
for (;;) { // I'd Like this Loop execution in a separate source File
gotoxy (1,40);
cout << "X =" <<x <<endl;
cout << "Y =" <<y <<endl;
x = rand() % 30 + 1;
y = rand() % 30 + 1;
for (int b=0 ;b<10000;b=++b){
gotoxy (x,y);
cout << " X ";
cout <<"\b \b"; // Deletes Just Printed "X"
}
}
}
答案 0 :(得分:4)
您将需要另外两个文件,一个头文件和一个源文件。在第一个中,您将声明函数,而在另一个中您将声明它。
例如,你可以这样做:
头文件:myFunc.h
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <chrono>
#include <thread>
using namespace std;
void myLoop(int x, int y);
源文件:myFunc.cpp
#include "myFunc.h"
void gotoxy(int x,int y)
{
printf("%c[%d;%df",0x1B,y,x);
}
void myLoop(int x, int y)
{
for (;;) {
gotoxy (1,40);
cout << "X =" <<x <<endl;
cout << "Y =" <<y <<endl;
x = rand() % 30 + 1;
y = rand() % 30 +1;
for (int b=0 ;b<10000;b=++b){
gotoxy (x,y);
cout << " X ";
cout <<"\b \b";
}
}
}
然后在主源文件中,你会这样做:
#include "myFunc.h"
int main()
{
int x=1;
int y=1;
myLoop(x, y);
return 0;
}
像这样编译:
g ++ -Wall myFunc.cpp main.cpp -o main
答案 1 :(得分:1)
C ++旨在将代码分成许多文件,以便我们组织代码。首先,您需要将代码放入函数中。然后将该函数放在一个单独的文件中。您将需要.h头文件和带代码的.cpp文件。