关于#C++#的问题,如何解决?

设计两个类
汽车类
属性:颜色、品牌、车轮个数
行为:行驶
修车厂类
属性:名称、地址
行为:修车
描述逻辑:
汽车可以行驶,一旦汽车损害(轮胎爆胎,某个轮子不可用),可以送至修理厂进行维修,修好后可以正常行驶

这个代码的这块错了怎么改啊

img

35行看不见,你这个brand是私有成员,主程序不能直接读取,只能是在成员函数里读取

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7511920
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:为什么c++中对赋值号"="的重载只能使用成员函数而不可以使用友元函数,而对标准输入输出符的重载要使用友元函数?
  • 除此之外, 这篇博客: C++编程练习:设计一个银行账户类,包含户名、帐号以及当前余额属性,并且能完成开户、存款、取款和查询余额等行为。中的 分析 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 代码分析:
    1、根据题意,我们要设计一个类Account,要将mName、mSN、mBalance均作为其成员数据,将deposit、withdraw、getBalance均作为其成员函数。类图UML设计图如下:
    在这里插入图片描述
    2、代码中 strcpy()即字符串复制函数,其原型是char * strcpy(char * dest,const char * src),把含有‘ \0 ’结束符的字符串复制到罗一个地址空间,即把从 src 地址开始且含有 NULL 结束符的字符串复制到以 dest 开始的地址空间,其中 src 和 dest 所指内存区域不可以重叠且 dest 有足够空间容纳 src 的字符串。

    strcpy(mName, name);      //字符串复制函数
    

    3、无参构造函数跟有参构造函数的区别,即在类里定义一个与类名相同的函数,但它的实参列表为空。

    //类的有参构造函数
    Account::Account(char name[], long num, float amount)
    {
    	strcpy(mName, name);      //字符串复制函数
    	mSN = num;
    	mBalance = amount;
    }
    //类的无参构造函数 
    Account::Account()
    {
    	cout << "无参函数被调用!"<< endl;
    }
    

    4、取款操作中,我们要考虑账户透支,即账户余额为0的情况,这里我们定义一个 if - else if 语句,若取款金额大于卡内金额时,return 0此时函数正常终止,而当取款金额小于或等于卡内金额时,return 1此时函数异常退出,即异常退出此函数。

    //从当前账户中取款 
    int Account::withdraw(float amount)
    {
    	if (amount > mBalance)
    	{
    		return 0;
    	}
    	else if (amount <= mBalance)
    	{
    		mBalance = mBalance - amount; 
    		return 1;                        //return 1代表函数非正常终止
    	}
    }
    

    5、查询账户余额操作中,return 关键字,其作用是返回程序流程的控制权,副作用是返回一个值,这里是返回卡内金额 mBalance 的值。

    //查询当前账户的余额
    float Account::getBalance()
    {
    	return mBalance;
    }
    

    6、Account A(name, num, amount)这里我们建立了一个账户,即实例化一个对象。

    int main()
    {
    	int NO, m;
    	char name[20];
    	long num;
    	float amount;
    	cout << "请输入所开账户户名:";
    	cin >> name;
    	cout << "请输入所开账户帐号:";
    	cin >> num; 
    	cout << "请输入所开账户初始存款金额:";
    	cin >> amount;
    	Account A(name, num, amount);
    	......................................
    	......................................
    	......................................
    }   
    
  • 您还可以看一下 朱有鹏老师的朱老师C++课程第3部分3.4.模板特化与类型萃取课程中的 3.4.1.从案例中理解什么是模板特化1小节, 巩固相关知识点