C ++:另一个类中的类实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C ++:另一个类中的类实例相关的知识,希望对你有一定的参考价值。
我有一个名为Matrix
的类和一个名为NeuralNet
的类。它们看起来像这样:
Matrix.h:
class Matrix
{
public:
double * matrix = nullptr;
Matrix(int,int);
};
Matrix.cpp:
#include "Matrix.h"
Matrix::Matrix(int h,int w)
{
matrix = new double[h*w];
};
我的问题是:“如何在类NeuralNet
中使用此类的实例?”我试过了 :
NeuralNet.h:
class NeuralNet
{
public:
Matrix * ptr = nullptr;
NeuralNet(int,int);
}
NeuralNet.cpp:
#include "Matrix.h"
#include "NeuralNet.h"
NeuralNet::NeuralNet(int h,int w)
{
ptr = new Matrix(h,w);
}
这不起作用,我收到错误:
Missing ';' before n'*'
任何类型的帮助将不胜感激!谢谢
答案
在NeuralNet.h中,您需要预先声明Matrix:
class Matrix;
或包括它:
#include "Matrix.h"
另外,在Matrix.cpp中,
Matrix::Matrix(int h,int w)
{
Matrix = new double[h*w];
}
应该
Matrix::Matrix(int h,int w) :
matrix( new double[h*w] )
{
}
以上是关于C ++:另一个类中的类实例的主要内容,如果未能解决你的问题,请参考以下文章