- 论坛徽章:
- 0
|
# include <string>
# include <iostream>
class Employee {
public:
Employee(std::string);
void display();
private:
std::string _name;
};
Employee::Employee(std::string name="no name"):_name(name) {}
inline void Employee::display()
{ std::cout<<"The name is "<<_name<<'.'<<std::endl; }
int main() {
Employee e; // 这里使用默认构造函数构造对象
e.display();
return 0;
}
/* 上面的代码在一个转换单元(一个程序源文件)中时可以编译通过,
* 并正常运行。
*
* 当分为 头文件、类定义文件、主函数文件 三个转换单元的时候,
* 会提示 找不到匹配的构造函数。
* 我想是因为 头文件的构造函数声明未指出参数默认值造成的。
*
* 这个问题应如何解决?
* */
|
|
|