我有一个struct数据类型。它包含一个也是一个结构的数据成员。在结构中计数数组实例
struct List{
private:
struct Line listLine[MAX_LINES];
public:
void set(int no);
void display() const;
};
listLine
是线型,定义为:
struct Line {
private:
int num;
char itemString[MAX_CHARS + 1];
public:
bool set(int n, const char* str);
void display() const;
};
的main.cpp
int main() {
int no;
List list;
cout << "List Processor\n==============" << endl;
cout << "Enter number of items : ";
cin >> no;
list.set(no);
list.display();
}
线::显示
void Line::display() const {
cout << this->num << ' ' << this->itemString << endl;
}
list.display(呼叫线.display和line.display prin TS线的一个实例,如果我把它的3倍,它将输出3种不同类型的数据,相应的每一个listLine
指数)
void List::display() const {
for (int i = 0; i < 10; i++) {
this->listLine[i].display();
}
}
比方说,我填充listLine
像这样:
listLine[0].num = 1
listLine[0].itemString = ABC
listLine[1].num = 2
listLine[1].itemString = ZXC
listLine[2].num = 3
listLine[2].itemString = QWE
我知道上面是不正确的C++语法,我只是试图说明这个概念,显示什么数据是在listLine
里面。
到目前为止,我已经能够打印listLine的内容,像这样:以上
// reading values in
List Processor
==============
Enter number of items : 3
Enter line number : 1
Enter line string : ABC
Accepted
Enter line number : 2
Enter line string : ZXC
Accepted
Enter line number : 3
Enter line string : QWE
Accepted
// printing those values with the loop i posted
1 ABC
2 ZXC
3 QWE
1
134514883
-1217566436 Jm·Z·Èí¬¿-
134515757
134514257
134515633 0
-1218833660 ôZ·F·
注意到的唯一有效数据是如何的
for (int i = 0; i < 10; i++) {
this->listLine[i].display();
}
输出1 ABC
,2 ZXC
和3 QWE
和之后它只是打印乱码?
我想只显示有效数据,但List的display()函数没有参数,所以我怎么知道listLine
中哪些数据是有效的?
我只想打印有效的行,在上面的例子中是三个,其他7行是废话。
是的,我会对此表示歉意,第二眼看起来相当神秘。 – eveo 2013-02-24 01:19:36
为什么你不在''''struct''中存储'Line'的数量(在你删除的时候增加和减少)? (我假设'std :: list'是这个任务的界限)。 – Johnsyweb 2013-02-24 01:23:33
我无法编辑结构。数据成员和成员函数在作业中概述。 – eveo 2013-02-24 01:25:41