主题:[原创]C/C++问题探讨--大家来帮帮忙
1. #include<iostream.h>
void main()
{
int a=3,b=2,c=1;
c-=++b;
b*=a+c;
{
int b=5,c=12;
c/=b*2;
a-=c;
cout<<a<<','<<b<<','<<c<<',';
a+=--c;
cout<<a<<','<<b<<','<<c<<',';
}
cout<<a<<','<<b<<','<<c<<endl;
}
我想问的就是为什么最后的那句cout<<a<<','<<b<<','<<c<<endl;的输出结果会是
2,3,-2?????
2. #include"stdafx.h"
#include<iostream>
using namespace std;
class A
{
public:
A(){cout<<"无参数构造函数!"<<endl;}
A(int i,int j){cout<<"带参数构造函数!"<<endl;}
A(A& r){cout<<"调用拷贝初始化构造函数!"<<endl;}
A& operator=(const A& r){cout<<"调用赋值操作符!"<<endl;return *this;}
};
void main()
{
A a1[2];
A a2[3]={A(1,2),A(2,3),A(3,5)};
A *p=new A[2];
delete p;
a1[1]=A(9,10);
}
我想问的是:A& operator=(const A& r){cout<<"调用赋值操作符!"<<endl;return *this;}这句话在这里的作用是什么???
谁能帮帮我,告诉我下。。
[em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16]
void main()
{
int a=3,b=2,c=1;
c-=++b;
b*=a+c;
{
int b=5,c=12;
c/=b*2;
a-=c;
cout<<a<<','<<b<<','<<c<<',';
a+=--c;
cout<<a<<','<<b<<','<<c<<',';
}
cout<<a<<','<<b<<','<<c<<endl;
}
我想问的就是为什么最后的那句cout<<a<<','<<b<<','<<c<<endl;的输出结果会是
2,3,-2?????
2. #include"stdafx.h"
#include<iostream>
using namespace std;
class A
{
public:
A(){cout<<"无参数构造函数!"<<endl;}
A(int i,int j){cout<<"带参数构造函数!"<<endl;}
A(A& r){cout<<"调用拷贝初始化构造函数!"<<endl;}
A& operator=(const A& r){cout<<"调用赋值操作符!"<<endl;return *this;}
};
void main()
{
A a1[2];
A a2[3]={A(1,2),A(2,3),A(3,5)};
A *p=new A[2];
delete p;
a1[1]=A(9,10);
}
我想问的是:A& operator=(const A& r){cout<<"调用赋值操作符!"<<endl;return *this;}这句话在这里的作用是什么???
谁能帮帮我,告诉我下。。
[em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16][em16]