为什么定义了teacher(string name ,int age)还要定义个teacher(),
这是teacher.h的代码:
#include<string>
using namespace std;
class teacher{
public:
teacher(string name,int age);
void setName(string name);
string getName();
void setAge(int age);
int getAge();
private:
string(m_strName);
int(m_iAge);
};
这是demo.cpp的代码:
#include<iostream>
#include<string>
#include"teacher.h"
using namespace std;
int main(){
teacher t("merry", 12);
cout<<t.getName()<<endl;
cout<<t.getAge()<<endl;
}
这是teacher.cpp的代码:
#include<iostream>
#include<string>
#include"teacher.h"
using namespace std;
void teacher::setName(string name)
{m_strName=name;}
string teacher::getName()
{return m_strName;}
void teacher::setAge(int age)
{m_iAge=age;}
int teacher::getAge()
{return m_iAge;}
int main(){
teacher t;
t.setName("kongzi");
cout<<t.getName()<<endl;
t.setAge(111);
cout<<t.getAge()<<endl;
system("pause");
return 0;
}
这样的代码运行出来的错误是 1>d:\vs 2010\project\test8\test8\teacher.cpp(19): error C2512: “teacher”: 没有合适的默认构造函数可用
不知道怎么回事?