我做了一個程序,其中有三個班,分別來自彼此繼承,但是當我試圖讓一個派生類的功能,COUT給了我一個錯誤,因爲這C++多繼承
3 IntelliSense: no suitable user-defined conversion from "std::basic_ostream<char, std::char_traits<char>>" to "std::string" exists e:\Visual Studio Projects\test\test\Source.cpp 19 10 test
我想改變什麼以及解決方案是什麼。此外,如果你可以指出我的錯誤,這將是不錯的
#include<iostream>
#include <string>
std::string name;
class Base{
public:
void getRed(){
std::cout << "Your name is : " << name << std::endl;
}
};
class Boy:public Base{
public:
Boy(){
name = "john";
}
std::string newInf(){
return std::cout << "Boy2 name is: " << name << std::endl;
}
};
class Boy2: public Boy{
public:
Boy2(){
name = "Mike";
}
};
int main(){
Boy boy;
boy.getRed();
Boy2 boy2;
boy2.newInf();
system("pause");
return 0;
}
名稱被定義爲一個全局變量,它不是你的類的字段 – jordsti