做教材后的一道课后题,getTotalWeight函数返回两个类对象private类型的weight属性,求和后并返回。头文件编好后语法检查通不过。函数可以引用Car对象的属性但是不能引用Boat对象的属性。检查了好久了不知道错误在哪。小弟刚接触C++,麻烦赐教谢谢!
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
bostonAlen 2020-01-01 20:43最佳回答 专家已采纳在Boat类定义前加上
class Cat;
未识别Cat,需要前置声明。
采纳该答案 已采纳该答案 专家已采纳评论解决 1 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
提交
相关推荐 更多相似问题
- 2020-01-01 18:56回答 1 已采纳 在Boat类定义前加上 ``` class Cat; ``` 未识别Cat,需要前置声明。
- 2021-01-09 16:36回答 1 已采纳 这是因为你加了名称空间,相当于加了作用域。Array成员函数的实现,以及友元函数的实现,同样需要放在Array类所在的名称空间内。 把rnyarray.cpp里的实现代码放在名称空间内即可:
- 2022-03-22 22:01回答 1 已采纳 c++机制规定就是这样必须将先定义的类的成员函数作为后定义类的友元函数,调换顺序会出现语法错误
- 2020-11-13 23:06芒种、的博客 例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。 友元(friend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的声明以friend开始,它只能出现在类定义的内部,友元...
- 2020-05-22 11:46卷儿~的博客 友元函数声明形式需要用到类对象作为参数,这需要在编译函数之前对类做前置声明 友元函数的实现需要完整的类,这需要在编译函数之前得到类的内容。 所以,下面的两种写法都是可以的: class A{ friend void print...
- 2020-10-18 10:38time~travel的博客 Static修饰类成员 C语言: 变量:static修饰全局变量,static修饰局部变量 函数:改变函数链接属性,表明,该函数只能在当前文件中...静态成员变量不能再构造函数初始化列表的位置进行初始化(因为初始化列表中只能
- 2021-06-16 12:14回答 2 已采纳 在第4行,添加 类鱼的声明:class fish; 在第48行末尾添加 ‘}'
- 2021-04-19 10:11回答 3 已采纳 补充一下,友元函数不是成员函数,因此你根本不可能在函数中直接访问timer,因为没有this指针,如楼上所说,最终访问的时候肯定是要加对象的。你的函数可以加一个参数就是timer所在的类。
- 2020-04-03 10:19回答 1 已采纳 Classfile.h ``` class X { public: friend class Y; friend class Z; friend void h(X x); X(i
- 2020-05-16 18:18赴星辰大海的博客 设计一个CShape抽象类,类中包含纯虚函数 从CShape类派生出三角形类CTriangle、矩形类CRectangle和椭圆类CEllipse 使用一个公共接口计算三角形对象、矩形对象和椭圆对象的面积 重载运算符>用于判断两个...
- 2021-12-21 21:17qq_50426849的博客 题目概述: 一个日期(Data)类的对象和一个时间(Time)类的对象,均指定内容,要求一次输出其中日期和时间。 编程: 上机实践:
- 2022-03-01 21:50Mindtechnist的博客 运算符重载实例、重载的机制、步骤、返回值及参数确定、友元函数与成员函数
- 2015-04-17 01:43回答 2 已采纳 C#不支持友元。VB倒是支持,不过和C++的友元不是一回事。VB的友元相当于C#的internal 如果你想让一个类操作另一个类的私有成员,可以定义为嵌套类
- 2020-03-22 16:07回答 1 已采纳 class Box { private: int v; public: //friend Box(); //xx错误,不行 friend Box& init(Box
- 2017-08-07 09:12回答 5 已采纳 两个类共享同一个友元函数是可以的,友元函数有没有参数并不影响。 正确的做法如下,关键处有注释: ``` #include using namespace std; clas
- 2022-03-14 22:57三元湖有大锦鲤的博客 在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。 输入 年、月、日和时、分、秒 输出 年、月、日和时、分、秒 输入输出样例 样例输入 #1 2013 12 23...
- 2022-01-15 00:26DanteIoVeYou的博客 友元函数、友元类、内部类 日期类 在我们快速入门了C++以后,首当其冲的便是学习C++基于面向对象的特性。 我们将事物抽象成一个类,再通过 “类” 这张图纸实例化出一个个具体的对象,在封装的特点下管理对象的数据...
- 2021-12-09 10:17胡代洲的博客 在c++中对类的成员设置了保护,如private和protected是不允许外部访问的,有时候有一个外部函数就是需要访问,为了解决这个问题,c++开了个后门,就是友元函数,友元函数就是将外部函数在类中进行申明,声明时前面...
- 2017-10-14 12:34回答 2 已采纳 我问题已解决,常理来说类的友元是可以访问类的私有成员的,但是因为我友元函数是在类外面实现的,当在友元函数内定义该内嵌类的变量时,要在前面加上名称空间限制,比如类为bba,内嵌类为aab,则定义aab类
- 2021-04-15 21:19Violetfh的博客 类由三部分组成:类名,数据成员和成员函数。 class 类名 { private: public: protected: }; 类成员三种访问权限分别是 private(私有成员),public(公有成员),protected(受保护成员), 在每一种访问权限下,均...
- 没有解决我的问题, 去提问