小编Jac*_*Box的帖子

将枚举传递给构造函数

我有一个基类Shape和一些其他派生类Circle,Rectangle等等.

这是我的基类

class Shape {

private:
enum Color {
    Red,
    Orange,
    Yellow,
    Green
};
protected:
int X;
int Y;

// etc...
};
Run Code Online (Sandbox Code Playgroud)

这是我的派生类之一

class Rectangle : public Shape {
private:
int Base;
int Height;
string shapeName;

//etc...
};
Run Code Online (Sandbox Code Playgroud)

这就是我调用构造函数的方式:

Rectangle R1(1, 3, 2, 15, "Rectangle 1");
Run Code Online (Sandbox Code Playgroud)

我的构造函数:

Rectangle::Rectangle(int x, int y, int B, int H, const string &Name)
:Shape(x, y)
{
setBase(B);
setHeight(H);
setShapeName(Name);
}
Run Code Online (Sandbox Code Playgroud)

我想在构造函数中添加一个参数,这样我就可以enum Color在我的基类中传递形状的颜色.我怎样才能做到这一点?我也想把颜色打印成一个string.我不知道如何enum在构造函数中用作参数.

任何帮助表示赞赏......

c++ enums constructor

4
推荐指数
1
解决办法
1万
查看次数

C++中的"未定义的符号"错误

我昨天发布了这个.人们建议我应该Point.hPoint.cpp文件,因为我使用template.我为我的班级创建了单独的文件Point,但我仍然收到错误.

//Point.h
Point(T = 0, T = 0, string = "Deafault Point");
~Point();
T operator-(const Point<T> &);  

//Point.cpp
template < typename T >
Point<T>::Point(T x,T y, string name)
:X(x), Y(y), Name(name)
{
}

template < typename T >
Point<T>::~Point()
{
}

template < typename T>
T Point<T>::operator-(const Point<T> &rhs)
{
cout << "\nThe distance between " << getName() << " and " 
<< rhs.getName() << " = ";

return sqrt(pow(rhs.getX() - getX(), …
Run Code Online (Sandbox Code Playgroud)

c++ templates compiler-errors

1
推荐指数
1
解决办法
343
查看次数

C++中的静态对象

我有Mtx在矩阵之间做一些计算

Mtx M1(rows1,cols1,1); //instantiate data members and fill the matrix with 1s
Mtx M2(rows2,cols2,2); //instantiate data members and fill the matrix with 2s

Mtx M3(rows3,cols3,0); //instantiate data members and fill the matrix with 0s


M3 += M1; //+= is overloaded - First M3
M3 -= M2; //-= is overloaded - Second M3
Run Code Online (Sandbox Code Playgroud)

首先M3需要M3的是用零填充,并将其添加到M1和答案将被分配给M3.我这里没问题.

问题出在第二个M3!它不会减去M3用零填充的内容,而是使用前一个操作的结果并从中减去M2.

如何制作M3保持其价值的静态?它是否与静态对象有关?我希望你明白我的意思!

感谢您的帮助......

c++ object

-1
推荐指数
1
解决办法
101
查看次数

标签 统计

c++ ×3

compiler-errors ×1

constructor ×1

enums ×1

object ×1

templates ×1