这段程序编译不能通过,返回值不同能否够成覆盖,该怎么解决

这段程序编译不能通过,返回值不同能否够成覆盖C/C++ code#includeiostreamusing namespace stdclass A{

这段程序编译不能通过,返回值不同能否够成覆盖

C/C++ code
#include<iostream>using namespace std;class A{public:    A()    {    }    A(int m,int n):i(m),j(n){}    void print()    {        cout<<i<<"  "<<j<<endl;    }    A(A &a)    {        cout<<"复制构造函数调用"<<endl;    }        ~A()    {    }private:    int i;    int j;};void main(){    A b=A(3,4);    b.print();}

这段程序编译不能通过,返回值不同能否够成覆盖

[解决办法]
为什么不能编译?这段程序很正常吧
[解决办法]
返回值不同不能构成重载。但你的程序不存在这样的问题。
[解决办法]
我的编译器在这一行报错:

cout<<"复制构造函数调用"<<endl;

把中文消息改成英文消息就没事了。
[解决办法]
你的程序不存在A::A(A)这个函数,所以在A b=A(3,4);这行会报错。
可以改成A a(3,4);
//A b=A(3,4);
A b(a);
这样可以编译通过,但是你这个通过复制构造得到的b的值是随机数,而不是如你想的(3,4);