class Student
{
public:
Student()
{
setID();
}
setID()
{
int c;
cin<<c;
ID=c;
}
protected:
int ID;
}
stuct Date
{
Student student;
Date * next;
}
viod main()
{
Date *ps;
ps=new Date;
}
我想输出刚新建的ID,应该怎样输入代码啊?我找书很久也好像未提到!
大虾们有空请解答小弟的菜鸟问题,谢谢!
按照LZ的定义 在ps被 初始化的时候会要求输入ID
但是你的Student类中没有属性ID的存取方法所以无法输出
若要输出ID要先设置一个ID的存取方法
class Student
{
public:
Student()
{
setID();
}
setID()
{
int c;
cin>>c;
ID=c;
}
int getID () const
{
return ID;
}
protected:
int ID;
}
然后在主函数中用
cout<<ps->student.getID();
即可输出
[此贴子已经被作者于2006-6-16 20:54:07编辑过]
不是结构的问题!!是因为你用了 Date *ps=new Date; 这是一个指针! ps不是结构,是指向结构的指针!!!!
指针不能用"."运算符,应该用->运算符,另外你还有一个概念没搞清楚 student 是在Date结构中被实例化的的一个私有成员,ID也被设置为Stdent类的私有属性。建议你好好看书弄清楚public private protect 这几个关键字的意思!!!
不是结构的问题!!是因为你用了 Date *ps=new Date; 这是一个指针! ps不是结构,是指向结构的指针!!!!
指针不能用"."运算符,应该用->运算符,另外你还有一个概念没搞清楚 student 是在Date结构中被实例化的的一个私有成员,ID也被设置为Stdent类的私有属性。建议你好好看书弄清楚public private protect 这几个关键字的意思!!!
stuct Date
{
Student student;
Date * next;
}
私有成员????????建议你好好看书????????
[此贴子已经被作者于2006-6-17 8:45:47编辑过]
不是结构的问题!!是因为你用了 Date *ps=new Date; 这是一个指针! ps不是结构,是指向结构的指针!!!!
指针不能用"."运算符,应该用->运算符,另外你还有一个概念没搞清楚 student 是在Date结构中被实例化的的一个私有成员,ID也被设置为Stdent类的私有属性。建议你好好看书弄清楚public private protect 这几个关键字的意思!!!
每个人都有看错的时候,不要这么苛刻呵,发短信告诉他,让他自己改吧
谢谢wfpb的指正!!的确是我的错,差点误导别人!惭愧!!!
结构默认应该是public吧?!