CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VC.NET

初学vc++.net 求助!!不可访问类中的private成员!!!

楼主anthit()2006-03-09 21:35:05 在 .NET技术 / VC.NET 提问

调试不过   提示问题时  
  d:\project\WindowsApplication\vc++\animals\animals.cpp(54):   error   C2248:   “animal::SetName”   :   无法访问   private   成员(在“animal”类中声明)  
   
  程序代码如下:    
   
  //   这是使用应用程序向导生成的   VC++    
  //   应用程序项目的主项目文件。  
   
  #include   "stdafx.h"  
  #include   <string.h>  
  #include   <tchar.h>  
   
  #using   <mscorlib.dll>  
   
  using   namespace   System;  
   
  __gc   class   animal  
  {  
  public:  
  int   legs;  
  private:    
  String   *strName;  
   
  void   SetName(String   *Name)  
  {  
  strName   =   strName->Copy(Name);  
  };  
  String*   GetName()  
  {  
  return   strName;  
  };  
  };  
   
  int   _tmain()  
  {  
          //   TODO:   请用您自己的代码替换下面的示例代码。  
          //Console::WriteLine(S"Hello   World");  
   
  animal   *Cat;    
  animal   *Dog;  
   
  Cat   =   new   animal;  
  Dog   =   new   animal;  
   
  Cat->SetName("cat   ");;  
  Cat->legs   =   4;  
  Dog->SetName("dog");  
  Dog->legs   =   4;  
   
  Console::WriteLine("Animal   1");  
  Console::Write("Name:");  
  Console::WriteLine("Cat->GetName()");  
  Console::Write("legs:");  
  Console::WriteLine("(*Cat).legs");  
  Console::WriteLine("--------------");  
   
  Console::WriteLine("Animal   2");  
  Console::Write("Name:");  
  Console::WriteLine("Dog->GetName()");  
  Console::Write("legs:");  
  Console::WriteLine("(*Dog).legs");  
  Console::WriteLine("--------------");  
   
  return   0;  
  }  
  问题点数:20、回复次数:7Top

1 楼wengnet(西门吹雪)回复于 2006-03-09 21:59:38 得分 5

我晕,private   是受保护的成员,当然不能访问了,你把它改成public就能访问了~!Top

2 楼anthit()回复于 2006-03-10 08:51:54 得分 0

我用的是类中函数来访问不行吗?书上的例子就是这样!!就是调不通!!Top

3 楼anthit()回复于 2006-03-10 08:57:16 得分 0

跪求!!在线等Top

4 楼GodOfLove(上帝之爱)回复于 2006-03-10 09:01:05 得分 5

你改成PROTECT试试  
  Top

5 楼anthit()回复于 2006-03-10 09:29:20 得分 0

改成protected也编译不过去,是不是字符串的问题?Top

6 楼Cwdf2005(四海为家)回复于 2006-03-15 11:26:34 得分 5

你的程序中不光strName是private的,SetName()和GetName()函数也是private的,在函数前加public将其改为公有的就行了Top

7 楼Tom_Real()回复于 2006-03-15 11:47:19 得分 5

不是strName不能访问,是方法不能访问。Top

相关问题

  • VC初学者
  • 初学vc...
  • 初学VC
  • 初学VC
  • VC++初学者问
  • vc初学者的困惑
  • vc初学者的问题
  • 初学VC,问题四
  • 初学VC,问题五
  • VC++初学者问题一

关键词

  • vc++
  • 函数
  • 代码
  • vc
  • legs
  • animal
  • 访问
  • dog
  • strname
  • console

得分解答快速导航

  • 帖主:anthit
  • wengnet
  • GodOfLove
  • Cwdf2005
  • Tom_Real

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo