C++不仅可以在h文件中定义main函数,而且还能在main函数中调用源文件中的函数

今天为大家演示一下C++中的冷门非规范编写方式:在h文件中定义main函数,且用h文件中的main函数调用源文件中的函数

写这篇文章主要是防止大家有一个固定思维,main函数不仅可以在源文件中定义执行,且main函数也可以在h文件中定义,并且调用源文件中的函数。

废话不多说,直接上示例:
1).首先打开VS2010,然后选择文件,点击新建,选择项目
在这里插入图片描述

2).在弹出的对话框的左边选择Visual C++,右侧选择Win32控制台应用程序,点击确定。
在这里插入图片描述

3).名称设置为Test后点击下一步
在这里插入图片描述
4).选择空项目后点击完成。
在这里插入图片描述
5).生成以下界面
在这里插入图片描述
6).右键点击源文件,选择添加->新建项
在这里插入图片描述
7).在弹出的对话框选择C++文件,名称设置成Test.cpp,点击添加。
在这里插入图片描述
8).完成后出现Test1.cpp的文件以及工作区。
在这里插入图片描述
9).按照上面的步骤在头文件下新建Test1.h和Test2.h,在源文件中添加Test2.cpp,完成后出现以下界面,注意,源文件和头文件要一一对应,位置不能错。
在这里插入图片描述
10).完成代码编写
要求:在Test2.h中定义main()函数,且在main()函数中调用Test1.cpp和Test2.cpp中的函数。

Test1.h:定义一个类print1,声明构造函数以及声明一个普通函数。

#ifndef TEST1_H
#define TEST1_H

class print1{
public:
	print1(int x);
};
int add1(int i,int j);
#endif

Test1.cpp:实现构造函数和普通函数。

#include<stdio.h>
#include<iostream>
using namespace std;
#include"Test1.h"
//定义函数add1()
int add1(int i,int j){
	return i+j;
}
//定义类print1的构造函数
print1::print1(int x){
	cout<<x<<endl;
}

Test2.h:定义一个类print2,声明构造函数和普通函数,定义main()函数。

#ifndef TEST2_H
#define TEST2_H
#include"Test1.h"
class print2{
public:
	print2(int y);
};
int add2(int i,int j);
void main(){
	print1 p1(1);//调用Test1.cpp中print1类的构造函数
	cout<<add1(1,2)<<endl;//调用Test1中的普通函数
	print2 p2(3);//调用Test2.cpp中print2类的构造函数
	cout<<add2(3,4)<<endl;//调用Test2中的普通函数
	system("pause");
}
#endif

Test2.cpp:实现构造函数和普通函数。

#include<stdio.h>
#include<iostream>
using namespace std;
#include"Test2.h"
print2::print2(int y){
	cout<<y<<endl;
}
int add2(int i,int j){
	return i*j;
}

结果:
在这里插入图片描述
确实在h中定义了main()函数,且main()函数调用了其它源文件中的方法。

此非规范的编写方式演示到这里了,希望大家还是牢记规范的编写方式:
头文件中声明函数以及变量
源文件中定义函数(实现方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值