我遇到将对象作为参数传递给另一个构造函数的类的问题。
class A{
protected:
double x;
double y;
public:
A(double f, double d): x(f), y(d){}
};
class B: public A{
protected:
A a;
public:
B(const A &aa): a(aa){}
};
但是在B的构造函数中,有一个错误。 该错误表明我提供了0个参数,而候选者期望为2.
我在StackOverFlow中搜索过类似的先前问题,但我找到的答案表明我编码的内容是正确的。 我无法弄清楚错误。有帮助吗?
提前致谢。
答案 0 :(得分:3)
由于您从#include <iostream>
#include <vector>
using namespace std;
class Rectangle{
int length;
int width;
public:
Rectangle(int length, int width){
this->length = length;
this->width = width;
}
int area(){
return this->width * this->length;
}
};
int main() {
vector<Rectangle> v;
v.push_back(Rectangle(1,2));
v.push_back(Rectangle(3,4));
cout << v[0].area()<<endl;
cout << v[1].area()<<endl;
// your code goes here
return 0;
}
延伸并包含A
,因此您需要将参数传递给这两个A
:
A