创建对象类型的变量

用户名

我一直陷在这个问题上,似乎无法解决这个问题,我正在用C ++创建一个程序,该程序可以计算各种功能,例如面积,周长,不同形状的点。

其中一部分包括创建Point类型的leftTop变量(Point是仅具有2个int(x和y)的类,以及一个称为Point的方法,用于打印出不同形状的x和y)。我使用了一个模板来创建一个只返回x和y的点类型的函数,我知道这是不正确的,但我想还是会尝试的。

template <typename Point>
Point leftTop(Point x, Point y) {
    return x, y;
}

但是它必须是点类型的数据成员(存储在一个名为shape的类中),该数据成员用于存储形状左上点的x和y坐标,因此我坚持如何实现这一点,因为我需要使用leftTop变量来计算形状的其他点,例如leftBottom,rightTop等。

阿德里安·摩尔

使用模板函数使事情变得过于复杂!精确的解决方案取决于你如何定义你的Point类,但你可能只需要一个相关的构造函数:

class Point
{
public
    Point(int px, int py) : x{ px }, y{ py } {}
public: // Make these "private" if you want to prevent direct access
    int x;
    int y;
};

然后,您可以leftTop非常轻松地创建对象:

int left = 12; // Or whatever
int top = 17;
Point leftTop(left, top);

您可以添加其他成员函数来执行几乎所有您需要处理的事情。

当您使用Visual Studio时,因此可以访问MFC类,因此您可以看一下MFC如何实现其CPointCRect类作为指导。如果您看不到MFC的内容,则该Windows.h文件提供了称为的C样式结构POINTRECT这也可能会有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建参数类型的变量

来自分类Dev

创建通用类型的对象

来自分类Dev

创建通用类型的对象

来自分类Dev

动态创建对象的变量

来自分类Dev

创建类变量的对象

来自分类Dev

Scala:存储变量类型的对象

来自分类Dev

如何创建对象并将其分配给严格类型的变量?

来自分类Dev

创建类型为<派生类>的变量以将<基类>对象存储在C#中

来自分类Dev

如何创建变量类型的向量?

来自分类Dev

创建变量类型“T”的实例

来自分类Dev

类型索引变量与被索引对象的类型不同

来自分类Dev

创建多种对象类型的QList

来自分类Dev

从键的联合创建对象类型

来自分类常见问题

尝试创建相同对象类型的两个实例,但最终得到两个引用相同对象的变量

来自分类Dev

当场对象创建与变量声明

来自分类Dev

当场对象创建与变量声明

来自分类Dev

从现有对象的类型创建对象?

来自分类Dev

从现有对象的类型创建对象?

来自分类Dev

Excel VBA对象变量类型不匹配

来自分类Dev

初始化变量类型的对象

来自分类Dev

严格模式下对象的变量类型?

来自分类Dev

对象类型的变量作为数组行为异常

来自分类Dev

如何创建不同类型的变量堆栈?

来自分类Dev

在 R 中创建变量类型列表

来自分类Dev

在 Java 中创建类类型的变量

来自分类Dev

创建自定义类型对象的向量

来自分类Dev

从Scala中的类型别名创建对象

来自分类Dev

创建Class对象时出现类型错误

来自分类Dev

创建具有多个对象类型的ArrayList?