无法解决的问题:类中声明,类外定义的成员函数,导致无法访问类中的私有成员函数
去掉using namespace std; 改变#include <iostream>啥的都没用
苍了个天,走过路过的帮个忙?
真的是头大,跟着视频敲代码,人家的代码好好的,就我的出错。本来出现红色波浪线就不舒服,但好在能编译通过,但是,在类中的函数声明和定义分离的时候,编译就不通过,成员函数就无法访问私有成员了,就拿出来了而已啊,前缀该加的都加了,视频里好好的能通过,我咋就不能了?嗯?
学C++吗,令人头秃的那种,呵呵
#include <iostream>
using namespace std;
template <typename T>
class Complex
{
Complex(T a, T b);
void printCom();
friend Complex MySub(Complex &c1, Complex &c2)
{
Complex tmp(c1.a - c2.a, c1.b - c2.b);
return tmp;
}
friend ostream & operator<<(ostream &out, Complex &c3)
{
cout << c3.a << " + " << c3.b << "i" << endl;
return cout;
}
public:
Complex operator+(Complex &c2)
{
Complex tmp(a + c2.a, b + c2.b);
return tmp;
}
private:
T a;
T b;
};
// 构造函数写在了类的外部
template <typename T>
Complex<T>::Complex(T a,