类中包含const成员变量时,怎么定义 拷贝赋值函数 ?

类中包含const成员变量时,如何定义 拷贝赋值函数 ??
#include   <iostream>
using   namespace   std;


class   Test
{
public:
Test(int   a,int   b):i(a),j(b)
{
}
Test(const   Test&   t):i(t.i),j(t.j)
{

}
Test&   operator   =   (const   Test&   t)   {
                              return   //如何定义呢   ?? }
void   show()
{
cout < <i < < ", " < <j < <endl;
}
public:
const   int   i   ;
int     j;

};


void   main()
{
Test   t1(1,2);
Test   t2(t1);
t1.show();
t2.show();


}

求教了

------解决方案--------------------
楼主你这并不是拷贝构造函数,而是赋值操作符

赋值操作符的作用是为已经存在的对象进行赋值,

而你定义的这个对象内部有const成员,

所以进行赋值的时候不应该对这个const 成员进行修改,

而且也无法修改

Test& operator = (const Test& t) {
//不对const变量进行操作}
------解决方案--------------------
也就是说,当两个Test的对象,t1和t2定义时,它们体内分别初始化好了一个const数据成员.

既然是const的,所以t1和t2各自拥有一份const数据成员.

在t1=t2这种情况下,t1内部的const成员也不应该被修改,并且无法修改
------解决方案--------------------
赋值的时候不要对这个变量赋值
------解决方案--------------------
楼上说的很好了,我来乱涂.
Test& operator = (const Test& t) {
if(*this==t)return *this;
else j=t.j;
return *this;
}
------解决方案--------------------
/*
Test& operator = (const Test& t) {
return ; }
*/

把它注释掉,
这里没用 ...