【发布时间】:2020-03-02 19:25:16
【问题描述】:
我的 cpp 作业给了我一个任务,这个任务很长并且有更多的功能,但我被困在了开始。我在这里要做的只是写下屏幕上给出的要点。
#include <iostream>
using namespace std;
class Point {
public:
double x, y;
Point(){
x=0.0;
y=0.0;
};
Point(double x,double y){
this -> x = x;
this -> y = y;
}
void print() {
cout << "(x,y) = ("<< x <<","<< y <<")"<<endl;
}
};
class Triangle {
public:
Point A;
Triangle(const Point& p1){
A.x = p1.x;
A.y = p1.y;
}
void print1(){
cout << "A(x,y) = ("<< A.x <<","<< A.y <<")"<<endl;
}
};
int main(){
Triangle A{1.0,2.0};
A.print1();
return 0;
}
我在这里的想法是,我有一个名为 Point 的类,它由两个变量 x 和 y 组成,任务中的类 Triangle 有 3 个点,但为了简单起见,我只使用一个,它有一个点是来自 Point 类(所以它应该有 x 和 y 坐标)和一个构造函数,它也有来自 Point 类的点。我只是想链接它们的 x 和 y 坐标并将它们打印出来。但它不会那样工作,你能帮帮我吗?如果您需要,我可以从任务中获得更多代码,以及我们课程中的代码。谢谢。
【问题讨论】:
-
我最大的问题是 Triangle 构造函数,不知道在 { } 括号内放什么。我知道如何使用常规变量,但是使用任务中给出的“const Point&”,所以我们需要使用它,我不知道该怎么做。
-
Triangle A({1.0, 2.0});可以工作(至少在 C++17 中)。或者,Triangle A(Point(1.0,2.0));. -
这很快。有用!谢谢,过去一个小时左右一直在挣扎哈哈。
-
它成功编译了程序,但打印似乎没有打印出任何东西。
-
C++ 确实有一个
&运算符(按位与),但您没有在任何地方使用它。类型上的&修饰符构成引用类型......并且不是运算符。请修正你的标题
标签: c++ class constructor operators