首页 > 用户发贴区 > 编程问题提问区 > 关于class同类之间赋值的问题
2009
04-10

关于class同类之间赋值的问题

我今天看到书上说:(假设已经定义一个class point,并且A已经赋值完成)


point B=A;  //将调用拷贝构造函数;


point B(A);  //显试调用拷贝构造函数;


point B;   B=A;   //对象之间赋值,不调用拷贝构造函数;


请问,最后这种情况不用拷贝构造函数赋值,他们是怎么传递值的呢?也就是说,A的值是怎么传给B的呢?


第二个问题是:B(A)的意思应该是B调用B中的赋值构造函数,把A的别名传给了B的赋值构造函数;请问在B中的函数用A的别名能访问A中的私有成员???难道同类用别名就可以访问私有成员?不是说,外函数不能访问私有成员的吗?


书上的赋值构造函数如下:


point::point(point &p){x=p.x;y=p.y;}


关于class同类之间赋值的问题》有 3 条评论

  1. 魔鬼的葬礼 说:

    我 是 新来的 学生 大家 要 教我c语言啊

留下一个回复