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

结构体作为类里面的成员函数?该如何解决

2012-03-08 
结构体作为类里面的成员函数??#include iostream.h#include stdlib.hstructss{intacharbstructss*ne

结构体作为类里面的成员函数??
#include <iostream.h>
#include <stdlib.h>

struct   ss{
      int   a;  
      char   b;
      struct   ss   *   next;
}ss,*p;

class   A{
private:
      p   u;
public:
A();
~A();
  void     print();
};
A::A()
{
    u-> a   =   3;
    u-> b   =   'm ';
    u-> next   =   NULL;
}
A::~A()
{     }
A::print()
{
    cout   < <   u-> a   < <endl;
    cout   < <   u-> b;
}

int   main()
{
    A   a;
    a.print();
  return   0;
}

这样把结构体作为类的一个成员变量为什么会出错?必须把结构体写到类当中去?
小弟十分不解,聆听个位大虾高论!!

[解决办法]
因为p是指针类型,而你有没有为这个指针分配内存
[解决办法]
#include <iostream>
#include <stdlib.h>
using namespace std;

struct ss
{
int a;
char b;
struct ss * next;
};

class A
{
private:
ss* u;
public:
A();
~A();
void print();
};

A::A()
{
u=new ss;//这里要分配内存

u-> a = 3;
u-> b = 'm ';
u-> next = NULL;
}

A::~A()
{
delete u;//析构时释放掉
}
void A::print()//记住前面的void
{
cout < < u-> a < <endl;
cout < < u-> b;
}

int main()
{
A a;
a.print();
return 0;
}

热点排行