如何在派生 class 中调用基 class 函数?
how to call a base class function in a derived class?
我有一个名为 Employee 的基础 class 和一个派生的 class StudentEmployee。
Employee class 有一个名为 getEmployeeName() 的函数,它 returns 一个字符串。
在我的 StudentEmployee class 中,我有一个名为 printInfo() 和 getPayRate() 的函数
并且在 printInfo() 函数中我收到以下语句的错误:
cout << getEmployeeName() << getPayRate() << "";
但是 << 运算符出现错误。我是否必须在派生的 class 中创建基 class 的对象来调用基 class 函数 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;
}
error C2679: 二进制“<<”: 没有找到接受 'std::string' 类型右手操作数的运算符(或者没有可接受的转换)
basename 变量不会初始化为任何值,因此当您调用 printinfo() 时,函数 getbasename() 无法 return 任何内容。
我有一个名为 Employee 的基础 class 和一个派生的 class StudentEmployee。
Employee class 有一个名为 getEmployeeName() 的函数,它 returns 一个字符串。
在我的 StudentEmployee class 中,我有一个名为 printInfo() 和 getPayRate() 的函数
并且在 printInfo() 函数中我收到以下语句的错误:
cout << getEmployeeName() << getPayRate() << "";
但是 << 运算符出现错误。我是否必须在派生的 class 中创建基 class 的对象来调用基 class 函数 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;
}
error C2679: 二进制“<<”: 没有找到接受 'std::string' 类型右手操作数的运算符(或者没有可接受的转换)
basename 变量不会初始化为任何值,因此当您调用 printinfo() 时,函数 getbasename() 无法 return 任何内容。