关于表达式必须是可修改的左值的介绍,详见程序
慢慢来,会好的
#include<iostream>
//#include<string>
using namespace std;
class Animal
{
public:
char kind[64];
char color[64];
//string kind;
void PrintAnimal()
{
cout << "kind=" << kind << endl;
cout << "color=" << color << endl;
}
void Write()
{
cout << kind<<"开始写字" << endl;
}
void Run()
{
cout <<kind<< "开始奔跑" << endl;
}
};
int main()
{
Animal dog;//Animal是类,dog是对象
Animal sheep;
//dog.kind="dog";这种写法是错误的,编译器会报错:表达式必须是可修改的左值,因为kind是字符数组名,而dog是个字符串,无法赋值
//解决办法:1)将kind定义成字符串,2)使用strcpy函数
strcpy_s(dog.kind,"dog");//因为我是VS2017,版本问题所以我得使用strcpy
strcpy_s(dog.color, "black");
strcpy_s(sheep.kind, "sheep");
strcpy_s(sheep.color, "white");
dog.PrintAnimal();
sheep.PrintAnimal();
dog.Run();
sheep.Write();
system("pause");
return 0;
}