急!为什么在构造函数中创建自定义类型的实例会出错?

loverP 2004-01-25 08:35:34
各位帮我看看,下面这段程序怎么了?

第一个文件:

// 该类模拟了一个计算器
public sealed class VirtualCalculator {
private OperationStack _operands; // 运算栈

//
// 构造器
//
VirtualCalculator(int stacksize) {
_operands = new OperationStack(stacksize); // ######
}

VirtualCalculator() : this(100) {
}

//
// 操作:
//
// ... ...

另一个文件:(自定义的运算栈)

public sealed class OperationStack {
private double[] _values; // 用于存贮操作数
private int _maxsize; // 栈的最大大小
private int _top; // 栈顶位置

//
// 构造器
//
OperationStack(int initsize) {
_maxsize = initsize;
_top = -1;
_values = new double[_maxsize];
}

OperationStack() : this(100) {
}

//
// 操作
//
// ... ...

第一个文件的构造函数中标有####的一行编译器报错:
不可访问“OperationStack.OperationStack(int)”
,因为它受保护级别限制

请问这是为什么?
...全文
68 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yanransoft 2004-01-26
//
// 构造器
//
public OperationStack(int initsize) {
_maxsize = initsize;
_top = -1;
_values = new double[_maxsize];
}
  • 打赏
  • 举报
回复
zengch24 2004-01-26
loverP(lover_P) :如果不显示申明构造函数,那就认为有一个缺省得Public构造函数。
  • 打赏
  • 举报
回复
turnmissile 2004-01-26
public OperationStack(int initsize)就可以了
  • 打赏
  • 举报
回复
loverP 2004-01-26
丢人!
  • 打赏
  • 举报
回复
loverP 2004-01-26
我就晕!!!!!!
居然犯这种错误!!!
连基本的问题都不会了!!!!
  • 打赏
  • 举报
回复
ZXYSOSO 2004-01-26
OperationStack(stacksize);
这个方法的定义改为
public OperationStack(***)
{
...
}

  • 打赏
  • 举报
回复
Ninputer 2004-01-26
你想用单件模式吗?这里可以用静态的构造方法代替普通的构造方法。
  • 打赏
  • 举报
回复
速马 2004-01-25
不加public默认是internal
  • 打赏
  • 举报
回复
loverP 2004-01-25
构造函数也用加public?拿别的类也没有public,怎么没问题?
  • 打赏
  • 举报
回复
izzard 2004-01-25
OperationStack(int initsize) 加 pubic 不加 便是 private
  • 打赏
  • 举报
回复
hujiiori 2004-01-25
构造函数要声明public标识符
  • 打赏
  • 举报
回复
相关推荐
课程设计-基于C++的mfc框架的学生社团管理系统(源码+数据库+报告).zip 本系统实现的功能 本程序为单文档应用程序,主程序界面能实现查询社团信息、修改社团信息、删除社团信息、添加社团信息、入团、退团、用户登录、和用户管理功能其修改社团信息、删除社团信息、添加社团信息和用户管理需要用户登录后才能使用,未登录就点击使用的弹出对话框显示您还没有登录,点击登录按钮弹出用户登录对话框输入正确的用户名称和密码若验证成功则显示登录成功并显示出您用有的权限高级管理员或者是普通管理员,高级管理员则可以对社团信息进行修改、删除、添加。点击入团按钮弹出加入社团对话框,对话框内填上相应的信息后点击确定成功加入后有相关提示,若没有成功则有可能您输入的社团不存,点击退团按钮弹出退出社团对话框,输入您要退出的社团名称和学号点击确定如果成功退出显示成功的标志,否则的话就是您没有假如该社团活着您填的信息不完全。主程序对话框可以直接控件内输入要修改的社团信息,然后点击修改按钮,分别输入控件的内容然后点击添加按钮,若要添加的社团当前没有的话则添加成功,否则失败。登录了以后点击用户管理按钮则弹出用户管理对话框,该对话框内可以修改用户密码,高级管理员还能注册新用户。
发帖
C#
加入

10.7w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
申请成为版主
帖子事件
创建了帖子
2004-01-25 08:35
社区公告

让您成为最强悍的C#开发者