C++里main函数写在类的上面应该怎么做。

一般main都是写在最后面的,也就是在类的后面。但是我不习惯写在最后面,想将main函数写在最开头,也就是类的前面,但在main函数中调用类的时候好像是找不到似的。该如何做?

你的习惯是正确的,编程时会发现你永远不可能知道一个项目有多少个函数或者类,所以代码先写main,再写类,但是你显然没有声明。当类在前面时,main在调用它的时候,此类已存在,故有了前面的定义,main中不再需要声明,但是main在前面的时候,就需要先声明了,因为调用在定义的前面。
main()
{
class a;
`````
````
}
class a
{
public:
`````
private:
``````
}但是请注意,main无法直接调类中的函数,因为main认不到·····这里主要用于表示friend等关系才会这么用
所以,建议保存为.h文件(头文件),但类假如太小就显得麻烦了······
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-28

直接把定义的类放在其他的.h和.cpp文件里

用的时候

#include "xxclass.h"

 不然,光加前向引用声明是没用的

除非你光声明这个类的指针,而不用此类中的任何成员变量或函数

但。。。

本回答被网友采纳
第2个回答  推荐于2018-05-09
main函数是不能写在类里的。每个程序只有一个main函数。(如果你在类里看到了main函数那个不是通常意义上的main函数。只是一个名字叫做main的自定函数)。main函数会接受系统传入的参数。参数是固定的。(但是类里如果见到main函数,肯定是自己定义的参数)。多了就不举例了
第3个回答  推荐于2016-01-04
看不到类的完整定义,不能建立类的实例。如果main放在最前面,main里面就不能有对象定义, 而且main函数里的代码也不要太多。

类完整定义(成员函数一般只有声明无定义)一般放在头文件里。本回答被提问者采纳
第4个回答  2013-08-28
得在main()前面增加类声明如:
class CStudent;

C++里main函数写在类的上面应该怎么做。
你的习惯是正确的,编程时会发现你永远不可能知道一个项目有多少个函数或者类,所以代码先写main,再写类,但是你显然没有声明。当类在前面时,main在调用它的时候,此类已存在,故有了前面的定义,main中不再需要声明,但是main在前面的时候,就需要先声明了,因为调用在定义的前面。main(){ class a...

...函数时,如果main写在最前面,怎么定义该函数啊?可以参照下程序解释...
C++是面向过程的语言,会从上到下依次执行,如果main函数写在最前面那其调用的函数就需先声明才行。include"stdio.h"void henoi(int i,char a,char b,char c);\/\/声明函数 int main(){ henoi(4,'a','b','c');return 0;} void moveone(char from,char to){ printf("%c->%c\\n",...

请教各位大侠C++中程序在开始main()函数之前的执行顺序是怎么样的?
main函数是最先执行的,那前面的只影响编译顺序,执行就看它在main函数中的顺序了

c++中,关于把main函数封装在类中
public:Main();};class Main main_procedure;\/\/全局变量,在main()之前调用其构造函数 int main(){}\/\/传统的main()函数不作任何事情 把这个头文件include之后通过定义Main::Main()就可以实现了 此外还可以写class Main的析构函数,比如加一个system("pause");之类的。但是int main函数有传参之类的...

C++程序的执行顺序是什么?
执行是从 main 函数开始,但如果在main函数前存在类对象变量的声明,则可能会先调用类的构造函数来创建类对象。第一个问题,如果函数的调用语句在定义之前,则需要进行声明,告诉计算机这个程序中有这么一个函数。因为编译是从上至下进行编译的,如果函数的调用放在了这个函数定义之前(未经声明),在编译时...

C++程序的执行顺序究竟是什么?
而函数的定义则会在其后面添加该函数的内容(既大括号里的语句。如:int sum (int i) { ...})另外,int sum (int i) { ...}这个并不是函数的调用,而是函数的定义。函数的调用这是这样的(就用程序中的sum做例子):sum(这里填写实参);如果还有不明白的可以提问。

C++中_main已经在.obj中定义的错误怎么解决?
你的两个cpp文件都已经加入到同一个project里面了 在编译的时候两个都会被编译 所以不需要在2里面include 1.cpp了 把那行注释掉,然后加一个声明就好了 或者在project里面把1.cpp移除

c++中的main函数有必要声明吗?
main函数不是必须定义的,可以尝试放在其他函数前面,放在其他函数的上面,下面,都可以。当编译器编译时,它逐行编译。但它首先找到主函数,当主函数被编译时,它意味着程序被编译。如果主函数位于其他函数之前,则在主函数中调用的子函数(自定义函数)将在主函数之前声明其存在。Void fun(int n,int m)...

在C++中mian函数应写在哪里啊
你写好那个头文件之后保存 再在菜单栏里"新建"--"C++ Source File "(名字自己随意取,位置要放在头文件保存的那个文件夹里面)之后就直接写main函数,举个例子:假设你头文件叫"abc.h"那么新建"C++ Source File"之后.在那里写 include<iostream.h> include"abc.h"void main(){...} 备注:简单讲,...

c++ 类的定义必须放在main函数前么
答.不可以.原因来剖析一下:你通过声明class Cube; 放在main函数内部 但是你使用该类定义了三个对象Cube c1,c2,c3;你要明白一点.class Cube;这个声明.它仅仅是告诉编译器了哪些信息 它仅仅告诉了编译器,Cube是个类而已,别无其他.因此Cube c1,c2,c3; ,你这样来定义三个对象,由于编译器只知道它是...

相似回答