【发布时间】:2014-04-08 18:04:12
【问题描述】:
这是我得到的错误: "没有匹配的函数调用 'MemberForTest::MemberForTest'..."
代码如下:
#include "Base.h"
#include "Date.h"
class MemberForTest: public tp::Base
{
public:
MemberForTest(std::string& name, std::string& firstname,
Date& birthday, std::string& telephone);
};
class Member
{
public:
Member() :
perso("Hall", "roger", (12,12,1990), "(999) 444-4545")
{
};
MemberForTest perso;
};
Base 是一个抽象类。我的老师使用相同的方法来获取基类构造函数,他不需要创建函数 (MemberForTest::MemberForTest)。即使我创建了函数,错误仍然存在。你能帮帮我吗?
另外,我可能必须传递一个对象日期 (Date date(12,12,1990)) 而不是 (12,12,1990) 作为参数。我该怎么做?
【问题讨论】:
-
Date(12, 12, 1990),尽管尚不清楚(并且高度怀疑)为什么构造函数通过引用接收所有内容。 -
没有从 int 1990 到类 Date 的隐式转换?令人震惊...
-
更好地让构造函数接收常量引用而不是可变引用
标签: c++ class parameters constructor abstract