我有一个名为Employee的基类,以及一个派生类StudentEmployee。
Employee类有一个名为getEmployeeName()的函数,它返回一个字符串。
在我的StudentEmployee类中,我有一个名为printInfo()和getPayRate()的函数
并且在printInfo()函数中我收到此语句的错误:
cout << getEmployeeName() << getPayRate() << "";
但是我的&lt;&lt;&lt;&lt;&lt;&lt;运营商。我是否必须在派生类中创建基类的对象以调用基类函数getEmployeeName()?我觉得我应该施展它,但找不到任何帮助我的例子
这是一个简短的版本
#include<iostream>v
using namespace std;
class Base {
public:
void setBaseName(string name){
baseName =name;
}
string getBaseName(){
return baseName;
}
private:
string baseName;
};
class Derived :public Base
{
public:
void printInfo(){
cout << getBaseName(); // I GET ERROR HERE
}
private:
};
int main (){
Derived d;
d.printInfo();
system("puase");
return 0;
}
错误C2679:二进制&#39;&lt;&lt;&# :找不到哪个运算符采用类型&#39; std :: string&#39;的右手操作数(或者没有可接受的转换)
答案 0 :(得分:0)
basename变量不会使用任何值进行初始化,因此当您调用printinfo()时,函数getbasename()无法返回任何内容。