作者andy910389 (*微凉的你*)
看板C_Sharp
标题[问题] 物件导向建构子的小小问题
时间Sun May 2 21:30:48 2010
刚刚在练习书上的习题~他要求建立一个stack,然後类别中的要建构子
是用来配置堆叠的阵列大小,
但是我发生一个问题就是,配置阵列如果放在建构子,那类别中的其他的函式如果用
到此阵列的就会说他没有宣告,因此必须要拿出来放在成员中配置,但问题是
一开始并不知道阵列大小,是要给使用者输入才会为这个阵列配置记忆体,
但偏偏宣告阵列又要给他初始值阵列大小 0rz 那我到底应该怎麽办.....
有哪为大大可以指导一下吗?
以下是我的主要程式码
namespace ConsoleApplication2
{
class stack
{
public int num=0; //用来存放阵列元素的索引值
public int[] anyData={0}; //宣告阵列,类别的成员函式才能使用他
(阵列大小未知)
public stack(int n2) //建构子
{
int[] anyData = new int[n2];//由於题目规定,且现在才能知道阵列大小,
所以又宣告配置一次(这样感觉有错...)
}
public void push(int n)
{
anyData[num] = n;
num++;
}
....................
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入阵列大小:");
int n;
n=int.Parse(Console.ReadLine());
stack s = new stack(n);
Console.WriteLine();
string k = "Y";
int sel;
while (k.ToUpper() == "Y")
{
Console.WriteLine("请选择功能:(1.输入2.删除3.印出)");
sel = int.Parse(Console.ReadLine());
switch (sel)
{
case 1: //主要是在放入元素这边都会出问题
{
Console.WriteLine("请输入数字:");
int n1 = int.Parse(Console.ReadLine());
s.push(n1);
break;
}
case 2:
.................
}
}
Console.ReadLine();
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.60.253.80
1F:→ james732:int[] anyData = new int[n2]; 改成 05/02 21:33
2F:→ james732:anyData = new int[n2]; 即可 05/02 21:33
3F:→ andy910389:可以了~~谢谢罗 05/03 10:44