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

关于类的初始化的有关问题

2012-03-30 
关于类的初始化的问题.a.hclassa{public:a()//问题1a(int)virtual~a()}

关于类的初始化的问题.
==============================
a.h
class   a{
public:
a();           //问题1
a(int);
virtual   ~a();
};  
a.cpp
a::a(int   lo){}
a::a(){}
a::~a(){}
==============================
b.h
#include   "a.h "
#define     NUM     6;
class   b:   public   a
{
public:
b();
virtual   ~b();
int   i;
};
b.cpp
b::b():a(NUM){}
b::~b(){}
=================================================
#include   "b.h "
class   c
{
public:
c();
virtual   ~c();
b   bb;     //问题2   出错
};
////////////////////////////////////////////////////


问题1   必须要有一个不带参数的构造函数么??没有的话编译出现
error   C2512:   'a '   :   no   appropriate   default   constructor   available

问题2   这样写编译出错.
error   C2146:   syntax   error   :   missing   '; '   before   identifier   'bb '
error   C2501:   'b '   :   missing   storage-class   or   type   specifiers
error   C2501:   'bb '   :   missing   storage-class   or   type   specifiers
我该怎么办?

谢谢大家!

[解决办法]
这样代码直接编译过去
class a{
public:
a(int);
virtual ~a();
};
a::a(int x){}
a::~a(){}

class b: public a
{
public:
b();
virtual ~b();
int i;
};

b::b():a(0){}
b::~b(){}
class c
{
public:
c();
virtual ~c();
b bb;
};
c::c(){}
c::~c(){}


int main(int,char*[])
{
c x;
return 0;
}

热点排行