C++面向对象入门:对象输出的问题
本帖最后由 大风起兮90+ 于 2020-2-22 10:08 编辑#include<iostream>
#include<string>
class Car
{
public:
std::string color;
void set_color();
void say();
};
void Car::set_color()
{
std::string col;
std::cout<<"请输入您想要的汽车的颜色:";
std::cin>>col;
color=col;
}
void Car::say()
{
std::cout<<"这辆车的颜色是"<<color<<std::endl;
}
int main()
{
std::string mycar_color;
Car mycar1;
mycar1.set_color();
mycar1.say();
Car mycar2;
mycar1.set_color();
mycar2.say();
return 0;
} 请问为什么第二辆车的颜色就打印不出来了呢 通过跟踪变量发现第二次改变的还是第一辆车的颜色 本帖最后由 major_lyu 于 2020-2-22 17:11 编辑
int main()
{
std::string mycar_color;
Car mycar1;
mycar1.set_color();
mycar1.say();
Car mycar2;
//mycar1.set_color(); //这里调用错了啊,你调用的是对象mycar1的成员函数,所以设置的是mycar1的颜色啊.
mycar2.set_color(); //改成这样就对了哦
mycar2.say();
return 0;
} major_lyu 发表于 2020-2-22 17:07
哎呀,抱歉,草率了草率了,脑袋晕了后面就没有认真检查代码
页:
[1]