首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问一段代码的意思,30分钟

2012-04-20 
请教一段代码的意思,在线等30分钟classA{....staticclassAaaa}AA:aaavalue大概是这样,这几行是什么意思?

请教一段代码的意思,在线等30分钟
class   A
{
....
static   class   A   aaa;
}

A   A:aaa   value;

大概是这样,这几行是什么意思?

[解决办法]
A A::aaa value;
对吗???
用法感觉比较古怪

class A
{
....
static class A aaa;
}
aaa是一个自己类型的静态对象.

[解决办法]
value是什么东西?
下面代码编译通过:
class A
{
public:
A(){ccc = 8;}
int ccc;
static class A aaa;
};

A A::aaa ;

main()
{
A c;
}

[解决办法]
#include <iostream>
using namespace std;
#define value (6)//呵呵猜的
class A
{
int ccc;
public:
A(const int &n=0):ccc(n){}
void show()
{
cout < <ccc < <endl;
}
static class A aaa;
};

A A::aaa value;

main()
{
A c;
c.show();
c.aaa.show();
system( "PAUSE ");
return 0;
}

[解决办法]
value就是你要给构造函数的值啊,看你的构造函数定义了

[解决办法]
是不是声明一个静态对象 value 值的内存在静态区
[解决办法]
要写成A A::aaa value;
是C++标准对于静态成员变量的规定,
构造函数发生在定义变量的时候
函数的实现和编译连接过程不能比较吧,在编译时查找实现的代码
函数的执行都是在运行时吧

[解决办法]
还有个问题, 可能比较菜鸟:

A A::aaa value;
是在main()外, 那么构造函数在什么时候执行?
编译的时候? 那构造函数的实现是不是可以放在此句后?
或者是链接时?

=========================================================
static 成员变量不是任何对象的,所以,其初始化不能出现在
构造函数中!
而她应该放到哪里呢?呵呵,所以就有了以上这个语法了.
其实,如果你去掉A A::aaa value;
你是不能用aaa的,因为,aaa根本没有定义.只是在类里声明过.
[解决办法]
类外对static对象aaa赋初试值
工作量在value里面

热点排行