class base{....}
class car:base{....}
main{
car bus = new car();
car wagon = bus;
base base1 = bus;
}
wagon = bus 后 wagon, bus都是同一个实例吗?
base1 = bus是怎么传递的?base1和bus是储存在不同的堆上吗???
class car:base{....}
main{
car bus = new car();
car wagon = bus;
base base1 = bus;
}
wagon = bus 后 wagon, bus都是同一个实例吗?
base1 = bus是怎么传递的?base1和bus是储存在不同的堆上吗???
解决方案 »
- lookUpEdit控件,如何改变下拉列表的列宽值?注,我是直接从数据表绑定过来的.
- pdf怎么转转成Word(.doc)
- 登入界面 怎么最先运行出来
- 乱码 ASP.net
- 在vs2003中创建Windows Application,然后在Form1中设计了一个菜单,按F5为何在Form1中看不见菜单呢?
- 紧急求助:如何在线程中关闭主应用程序
- 怎么样通过一个数据库名获得表名
- winform窗体中小问题
- C# 中 有没有 VB 中那个 inputBox 啊?就是接受用户输入的字符串。
- 小白求助,c#通过如何ajax传递参数到后台
- 一个页面有两个js,分开用都正常,两个一起用只有一个有效过,求帮助啊
- 请教!c#程序运行无反应
base1 = bus是怎么传递的?base1和bus是储存在不同的堆上吗???
答案都是 肯定的;
wagon bus base1 都是变量名而已,,存放在堆中..
new car(); 他们都指向 这个实例 base1 应该是指向了 一部分;
我们写代码,声名变量,变量的位置就在内存当中。
Car a= ccc;
Car b=a;则 b在内存中没有位置。只是将a在内存中的引用传给了a
第一个问题,wagon,bus是同一个实例,当wagon变化时,bus会跟着变化
第二个问题,据我所知这种写法是会出错的,因为不是同一个类型(尽管是继承),不能直接相等
在base、car类中有一个隐藏函数(都有同一个函数,但派生的函数用new定义),base1 调的为base的函数,但bus调的却是car的函数????????????????
using System;
namespace Wrox.ProCSharp.Basics1
{
class abs
{
class base_c
{
public void f()
{ Console.WriteLine("调用了基类BaseClass的非虚方法"); }
}
class car : base_c
{
new public void f()
{ Console.WriteLine("调用了派生类InClass的非虚方法"); }
}
static void Main()
{
car InObj = new car();
base_c BaseObj = InObj;
BaseObj.f();
InObj.f();
Console.ReadLine();
}
}
}
如果是同一实例? 怎么结果不一样!!!!!!!!!!!
using System;
namespace Wrox.ProCSharp.Basics1
{
class abs
{
class base_c
{
public void f()
{ Console.WriteLine("调用了基类BaseClass的非虚方法"); }
}
class car : base_c
{
new public void f()
{ Console.WriteLine("调用了派生类InClass的非虚方法"); }
}
static void Main()
{
car InObj = new car();
base_c BaseObj = InObj;
BaseObj.f();
InObj.f();
Console.ReadLine();
}
}
}
如果是同一实例? 怎么结果不一样!!!!!!!!!!!