C++这里为什么可以直接访问私有成员?
这里的c2.a和c2.b为什么可以直接访问私有成员?
#include <iostream>
#include <string>
using namespace std;
class Complex{
public:
Complex(double a=0,double b=0);
void add(Complex & c2);
void show(){cout<<a<<"+"<<b<<"i";};
private:
double a;
double b;
};
Complex::Complex(double a,double b){this->a=a,this->b=b;};
void Complex::add( Complex & c2 ) {
a+=c2.a;
b+=c2.b;
}
void main(){
Complex c1(3,5);
Complex c2=4.5;
c1.add(c2);
c1.show();
}