CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

这不是取私有变量吗?

楼主li_guang_hua(无声胜有声)2005-08-04 10:44:19 在 VC/MFC / 基础类 提问

下列程序在VC++中编译为何可以通过  
  template   <class   T>  
  class   MyClass{  
  private:  
  T   value;  
  public:  
  void   assign(const   MyClass<T>&   x)  
  {value=x.value;}       //这不是取x的私有变量吗,怎么可以通过?  
  };  
   
   
  void   main()  
  {  
  MyClass<double>   d;  
  MyClass<double>   e;  
  e.assign(d);  
   
  } 问题点数:20、回复次数:6Top

1 楼handsomerun(毛毛)回复于 2005-08-04 10:51:07 得分 0

所谓的私有是对外不对内的  
   
  你的类成员函数,可以调用自己类的私有成员  
   
  像你的示例代码那样  
   
  但是MyClass<double>   d;  
   
  d.value;  
  这样就是不行的,呵呵Top

2 楼guoxiaoli(半导体)回复于 2005-08-04 10:57:57 得分 0

private部分是针对类定义的外部而言的!!  
   
   
  要不然岂不是private部分为不可用的部分了!!  
   
  Top

3 楼boyplayee()回复于 2005-08-04 12:47:43 得分 0

类的私有部分对本身类来说是可以读的Top

4 楼kuboybat(保镖)回复于 2005-08-04 13:11:01 得分 0

私有针对本类和别的类来说,类A的私有变量它自己本身可以使用,但是类B就不能使用类A的私有成员变量,呵呵,如果自己类的私有成员变量自己不能使用的话,那还要来干嘛:)Top

5 楼hyg2008(蓝色雨)回复于 2005-08-04 13:13:47 得分 0

虽然e和d都属于一个类,但是是不同的对象。  
  e的成员函数为什么能去取d的私有成员变量,应该只有d自己的成员函数才能取d的私有成员变量吧?Top

6 楼bobob(静思)回复于 2005-08-04 13:33:23 得分 0

楼主不要写成内联试试看?  
  我也觉得应该不能访问,因为是不同的对象  
  莫非是编译器的bug?hoho   ~  
  Top

相关问题

  • 可私有变量可以吗?
  • ===值100分的问题(先给50):如何存取基类中私有变量的值?===
  • 在java 子类继承父类的的非私有变量和方法 ?这句话对吗
  • friend不能访问私有变量的代码
  • 一个关于类的私有变量的问题
  • 关于对象和私有变量的问题
  • 在方法中要定义一个私有变量?
  • 如何窥探类中的全部私有变量???
  • 如何定义一个线程私有变量
  • 奇特问题——两个DLL的私有变量相互干扰!!!

关键词

  • 函数
  • 私有
  • 变量
  • 类
  • 成员
  • myclass
  • 使用
  • 不能
  • private

得分解答快速导航

  • 帖主:li_guang_hua

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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