不上机,说说下面程序的运行结果
本帖最后由 戏++ 于 2014-7-17 14:58 编辑#include <iostream>
int* g_data;
class A
{
private:
int m_n;
public:
A(int n)
{
m_n = n;
m_sn = n;
printf("*************A(%d)*************\n",m_n);
}
~A()
{
printf("*************~A(%d)*************\n",m_n);
}
void add_me()
{
static int c = 0;
g_data = &c;
printf("c++ = %d\n",c++);
}
static int m_sn;
};
int A::m_sn = 0;
static A a0(0);
int main()
{
a0.add_me();
{
A a1(1);
a1.add_me();
}
printf("m_sn:%d\n",a0.m_sn);
printf("main()\n");
printf("*g_data=%d\n",*g_data);
return 0;
}
通过这段代码
1、去理解全局,局部变量的生命周期
2、去理解静态变量的意义
3、学会通过printf 来调试,分析程序,这是最简单,也是最厉害的一招
打印结果
**** Hidden Message *****
鱼C 侦探团 问题求助? C哥 你可以发C/C++版块。
小菜提问 :C 有class??? 本帖最后由 拈花小仙 于 2014-7-16 22:45 编辑
必须得顶我们侦探团,不过这个改成C++编程小组吧 牡丹花下死做鬼 发表于 2014-7-16 22:31
小菜提问 :C 有class???
{:7_181:}可以运行的哈~ 牡丹花下死做鬼 发表于 2014-7-16 22:31
小菜提问 :C 有class???
这是为什么呢~ 牡丹花下死做鬼 发表于 2014-7-16 22:31
小菜提问 :C 有class???
vc6.0编译通过了啊 戏++ 发表于 2014-7-16 22:49
vc6.0编译通过了啊
那得斯噶我这里出错了 戏++ 发表于 2014-7-16 22:49
vc6.0编译通过了啊
你确定 .c VC++6.0编译不会出错?? 牡丹花下死做鬼 发表于 2014-7-16 22:56
你确定 .c VC++6.0编译不会出错??
确定 --------------------Configuration: 测试_C - Win32 Debug--------------------
Compiling...
测试.c
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(4) : error C2061: syntax error : identifier 'A'
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(4) : error C2059: syntax error : ';'
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(5) : error C2449: found '{' at file scope (missing function header?)
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(29) : error C2059: syntax error : '}'
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(32) : error C2061: syntax error : identifier 'a0'
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(32) : error C2059: syntax error : ';'
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(32) : error C2059: syntax error : 'constant'
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(37) : error C2065: 'a0' : undeclared identifier
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(37) : error C2224: left of '.add_me' must have struct/union type
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(39) : error C2065: 'A' : undeclared identifier
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(39) : error C2146: syntax error : missing ';' before identifier 'a1'
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(39) : warning C4013: 'a1' undefined; assuming extern returning int
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(40) : error C2224: left of '.add_me' must have struct/union type
E:\代码\My program\Microsoft Visual C\测试_C\测试.c(42) : error C2224: left of '.m_sn' must have struct/union type
执行 cl.exe 时出错.
测试.obj - 1 error(s), 0 warning(s)
求解释 牡丹花下死做鬼 发表于 2014-7-16 23:00
求解释
你选C扩展名了? 牡丹花下死做鬼 发表于 2014-7-16 23:00
求解释
后缀用cpp Angel丶L 发表于 2014-7-16 22:20
问题求助? C哥 你可以发C/C++版块。
那个是C++群组 戏++ 发表于 2014-7-16 23:34
后缀用cpp
←_← 那是C++啊
又不是C 拈花小仙 发表于 2014-7-16 23:21
你选C扩展名了?
是的 rhf rhf看看,学习一下谢了 看看是不是 *************A(0)*************
c++ = 0
*************A(1)*************
c++ = 1
*************~A(1)*************
m_sn:1
main()
*g_data=2
*************~A(0)*************
Alex.Mercer 发表于 2014-7-17 12:34
*************A(0)*************
c++ = 0
*************A(1)*************
关键是理解里面的知识点
页:
[1]
2