c++中如何在主函数中调用其他文件内的函数?

c++中如何在主函数中调用其他文件内的函数?,第1张

就是再写个头文件,对调用文件里的函数进行申明。再将头文件写在主函数所在的文件里。如下面所示:

//文件ac

#include "ah"

int display(int a,int b){

cout<<a+b<<endl;

return 0;

}

//文件ah

#include <iostream>

int display(int ,int );

//文件mainc

#include "ah"

int main(){

int a=2,b=3;

display(a,b);

return 0;

}

简单写几行,使用非本源文件的函数就需要文件包含方式来包含其他文件,注意好头文件别重复

方法和详细的 *** 作步骤如下:

1、第一步,头文件被构建为在c文件中声明函数,并包括宏定义,  必须有相应的c文件才能创建头文件,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,要编写头文件,创建一个h文件,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,打开h文件进行编辑,按照步骤可以创建头文件,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,头文件名的大写字母写在#ifndef之后,例如:testh应该写为__TEST_H__,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,在define和endif之间声明函数名称,见下图,转到下面的步骤。

6、第六步,完成上述步骤后,将include头文件写入主文件中并可以调用,见下图,转到下面的步骤。

7、第七步,完成上述步骤后,进行编译,运行,然后完成,见下图。这样,就解决了这个问题了。

C语言,C++,怎么写主函数

主函数的作用是程序的入口。就是说只要程序一开始,第一句执行的就是主函数中的第一条语句。

编写规律:主函数一般是调用函数和简单的逻辑判断,代码长度不宜超过80行。

技巧:将功能尽量整合到一个子函数,采用调用。例如,长方形体积是一个子函数一样。

举例如下:

#include

double V(double a, double b, double c); 声明子函数

void main() 主函数

{double a,b,c; 长 宽 高

double v;

scanf("%lf%lf%lf",&a,&b,&c); 输入长 宽 高

v = V(a,b,c); /抚;体积子函数

printf("%lf",v);

}

double V(double a, double b, double c)

{

double v;

v = abc;

return v; 返回给主函数的值

}

c语言中,标准main函数的书写规范是什么?

那是因为C语言刚刚出来的时候标准还不统一!

最先前是main() 连头文件都不需要,后来又出现了需要#include头文件,再后来是int main() 这样的形式就必要要有个返回值! 这些都是因为C语言在不断改进,所以各个版本都有区别,现在这就在于你公司或自己要求个标准是哪个标准了或者是使用的哪个编译器,因为编译器支持的标准也不一样!

int main(int argc, char argv[]) 其实main函数还有两个参数!

java中,main方法怎么写?

main方法定义如下:

public static void main(String[] args){…}

关键字的作用:

(1)public关键字,这个好理龚,声明主函数为public就是告诉其他的类可以访问这个函数。

(2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。

(3)void关键字表明main()的返回值是无类型。

(4)参数String[] args,作用是为程序使用者在命令行状态下与程序交互。

这个单链表的主函数怎么写?

你要写的主函数用来干什么

C语言主函数写法

main函数是 *** 作系统调用的入口,前面的int void 是返回类型,返回给 *** 作系统。

int 是整型 void 是无返回值。

你说的main()写法是编译器会自动帮你补充int 或void的,有的编译器不支持。

这是小问题,看情况试试就可以知道了,。

建立文件ac,并在主函数main()中实现以下语句: 急急,怎么写

#include void main() {int a,b=80;float c;a=b;c=a+1;printf("%d\n%d\n%f",a,b,c);}将上述内容存为ac,并编译执行,就可以了。

执行结果:

友元函数的主函数怎么写?

#include

class B

{

public:

void d();

};

class A

{

friend void f();

friend void B::d();

public:

A(int x=0){this->x=x;}

private :

int x;

};

void B::d()成员函数做为类的友元函数

{

A a;

ax++;

cout<<"调用了成员函数作为友员函数:ax="<

}

void f()普通函数做为类的友元函数

{

A a;

ax++;

cout<<"调用普通成员函数作为友元ax="<

}

void main()

{

B b;

A a;

f();

bd();

}

数据结构主函数怎么写

/ 串a: abcdefghijklmnopqrstuvwxyz 串b: 01234567890123456789 串a: abcdefghijklmnopqrstuv012345678901234567 串c: abcdefghijklmnopqrstuvwxyz Press any key to continue / #include #define MAXLEN 40typedef struct { char ch[MAXLEN]; int len;}SString;void StrInsert(SString s,int pos,SString t) { int i; if(pos < 0 ) pos = 0; if(pos > s->len - 1) pos = s->len; if(s->len + tlen <= MAXLEN) { 长度适中 for(i = s->len + tlen - 1;i > pos;i--) s->ch[i] = s->ch[i - tlen]; for(i = 0;i < tlen;i++) s->ch[i + pos] = tch[i]; s->len += tlen; } else if(pos + tlen > MAXLEN) { 长度超限1,从pos后不再有s的内容 for(i = pos;i < MAXLEN; ++i) s->ch[i] = tch[i - pos]; s->len = MAXLEN; } else { 长度超限2,从pos + tlen后还有s的部分内容 for(i = MAXLEN - 1; i >= pos + tlen; --i) s->ch[i] = s->ch[i - tlen]; for(i = 0; i < tlen; ++i) s->ch[i + pos] = tch[i]; s->len = MAXLEN; }} 在s中从pos位置开始删除len个字符int StrDelete(SString s,int pos,int len) { int i; if(pos < 0 || pos > s->len) return 0; if(pos + len < s->len) { 删除s的中间部分 for(i = pos;i < pos + len;i++) s->ch[i] = s->ch[i + len]; s->len -= len; } else { len太大 s->len = pos; } return 1;}SString StrCopy(SString s,SString t) { int i; for(i = 0;i < tlen;i++) s->ch[i] = tch[i]; s->len = tlen; return s;}int StrEmpty(SString s) { if(slen == 0) return 1; return 0;}int Stepare(>>

数据结构用C语言写的串怎么写主函数

/

串a:

abcdefghijklmnopqrstuvwxyz

串b:

01234567890123456789

串a:

abcdefghijklmnopqrstuv012345678901234567

串c:

abcdefghijklmnopqrstuvwxyz

Press any key to continue

/

#include #define MAXLEN 40typedef struct {char ch[MAXLEN];int len;}SString;void StrInsert(SString s,int pos,SString t) {int i;if(pos < 0 ) pos = 0;if(pos > s->len - 1) pos = s->len;if(s->len + tlen <= MAXLEN) { 长度适中for(i = s->len + tlen - 1;i > pos;i--)s->ch[i] = s->ch[i - tlen];for(i = 0;i < tlen;i++) s->ch[i + pos] = tch[i];s->len += tlen;}else if(pos + tlen > MAXLEN) { 长度超限1,从pos后不再有s的内容for(i = pos;i < MAXLEN; ++i)s->ch[i] = tch[i - pos];s->len = MAXLEN;}else { 长度超限2,从pos + tlen后还有s的部分内容for(i = MAXLEN - 1; i >= pos + tlen; --i)s->ch[i] = s->ch[i - tlen];for(i = 0; i < tlen; ++i)s->ch[i + pos] = tch[i];s->len = MAXLEN;}} 在s中从pos位置开始删除len个字符int StrDelete(SString s,int pos,int len) {int i;if(pos < 0 || pos > s->len) return 0;if(pos + len < s->len) { 删除s的中间部分for(i = pos;i < pos + len;i++)s->ch[i] = s->ch[i + len];s->len -= len;}else { len太大s->len = pos;}return 1;}SString StrCopy(SString s,SString t) {int i;for(i = 0;i < tlen;i++) s->ch[i] = tch[i];s->len = tlen;return s;}int StrEmpty(SString s) {if(slen == 0) return 1;return 0;}int S>>

线性表的主函数要怎么写。 帮帮忙进来看看。。。 10分

/

请输入待建立的表长 : 5

请输入5个元素用空格分开 : 56 54 34 12 76

成功建立表!

插入元素10。

56 10 54 34 12 76

删除第3个元素。

56 10 34 12 76

Press any key to continue

/

#include

using namespace std;

#define MaxSize 100

typedef int datatype;

typedef struct {

datatype data[MaxSize];

int last;

}SeqList;

void Init_SeqList(SeqListL) {

int i;

cout << "请输入待建立的表长 : ";

cin >> L->last;

cout << "请输入" << L->last << "个元素用空格分开 : ";

for(i = 0;i < L->last;i++) {

cin >> L->data[i];

}

cout << "\n成功建立表!\n";

}

int Insert_SeqList(SeqList L,int i,datatype x) {

int j;

if(L->last == MaxSize - 1) {

cout <<"表满!\n";

return -1;

}

if((i < 1) || (i > L->last + 2)) {

cout << "位置错!\n";

return 0;

}

for(j = L->last;j >= i - 1;j--)L->data[j + 1] = L->data[j];

L->data[i - 1] = x;

L->last++;

return 1;

}

int Delete_SeqList(SeqList L,int i) {

int j;

if((i < 1) || (i > L->last + 1)) {

cout << "不存在第i个元素。\n";

return 0;

}

for(j = i;j < L->last;j++) L->data[j - 1] = L->data[j];

L->last--;

return 1;

}

int Locate_SeqList(SeqList L,datatype x) {

int i = 0;

while((i < L->last) && (L->data[i] != x)) i++;

if(i >= L->last) return -1;

else return 0;

}

void Display_SeqList(SeqList L) {

if(L == NULL) cout <&l埂; "表为空,不能输出。&>>

在头文件声明比如

class a

{

public:

void print();

};

在cpp文件里实现

#include "ah"

void a:: print()

{

//实现代码

}

如果要求是

template<int maxLength>

class DString{

public:

char text[maxLength];

public:

static const int size=maxLength;

friend ofstream& operator <<(ofstream output,const DString& str1);

friend ifstream& operator >>(ofstream input,const DString& str1);

};

放在一个h文件中,而

template<int maxLength>

ofstream& operator <<(ofstream output,const DString<maxLength>& str1){

for(int i=0;i<maxLength;i++){

outputput(str1text[i]);

}

}

template<int maxLength>

ifstream& operator >>(ifstream input,const DString<maxLength>& str1){

for(int i=0;i<maxLength;i++){

inputget();

}

}

放在一个cpp文件中,这种写法是符合C++标准的,但是目前的编译器基本不支持,据说有一个商业编译器支持。

可以参考下boost,一般模板类都是全部写在一个h文件中。

另外上面的程序有好几个警告。

以下修改过,用g++编译通过。

#include <iostream>

#include <fstream>

using namespace std;

template<int maxLength>

class DString{

public:

char text[maxLength];

public:

static const int size=maxLength;

friend ofstream& operator <<(ofstream output,const DString<maxLength>& str1){

for(int i=0;i<maxLength;i++){

outputput(str1text[i]);

}

return output;

}

friend ifstream& operator >> <>(ofstream input,const DString& str1);

};

//其友元函数函数也涉及模板

/

template<int maxLength>

ofstream& operator <<(ofstream output,const DString<maxLength>& str1){

for(int i=0;i<maxLength;i++){

outputput(str1text[i]);

}

return output;

}/

template<int maxLength>

ifstream& operator >>(ifstream input,const DString<maxLength>& str1){

for(int i=0;i<maxLength;i++){

inputget();

}

return input;

}

int main(int argc, char argv[])

{

return 0;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12178250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存