注册 登录
编程论坛 C语言论坛

前置声明,我说不上来哪里有问题

潺潺的小河 发布于 2019-08-16 19:54, 2279 次点击
只有本站会员才能查看附件,请 登录
5 回复
#2
潺潺的小河2019-08-16 19:56

只有本站会员才能查看附件,请 登录

#3
wufuzhang2019-08-17 09:04
类可以这样声明吗?
#4
潺潺的小河2019-08-17 20:06
程序代码:
#ifndef HEADER_VECTOR
#define HEADER_VECTOR
class Matrix;
class Vector{
    int *v;
    int sz;
public:
    void remove(){delete[] v;}
    void set(int);
    int& operator[](int);
    int size(){return sz;}
    void display();
    friend Vector multiply(const Matrix &m,const Vector &v);   
};
#endif
#5
潺潺的小河2019-08-17 20:10
回复 3楼 wufuzhang
我也不了解,第一次使用前置声明的方法。
我采用多文件结构定义类,但是这个类要用到下一个文件的类,所以我就用了前置声明。
但是编译不通过,我也不知道哪里有问题
#6
潺潺的小河2019-08-17 20:13
程序代码:
#ifndef HEADER_MATRIX
#define HEADER_MATRIX
class Vector;
class Matrix{
    int *m;
    int szl,szr;
public:
    void set(int,int);
    void remove(){delete[] m;}
    int sizel{return szl;}
    int sizer{return szr;}
    int&elem(int ,int );
    friend Vector multiply(const Matrix &m,const Vector & v);
};
#endif

这两个文件 都要互相使用另外一个类
1