C++练习--创建Boat类和Car类(含友元)

/*
定义Boat与Car两个类,二者都有weight属性,
定义二者的一个友元函数totalWeight()为外部函数,
计算二者的重量和。
*/
#include<iostream>
#include<string>
using namespace std;
class Boat;
class Car {
private:
    double weight;
public:
    Car(double wg) {
        this->weight = wg;
    }
    Car(Car &tp) {
        this->weight = tp.weight;
    }
    double getWeight() {
        return weight;
    }
    ~Car() {

    }
    void show() {
        cout << "This is a Car:" << endl;
        cout << "Weight:" << weight << endl;
    }
};
class Boat {
private:
    double  weight;
public:
    Boat(double wg) {
        this->weight = wg;
    }
    Boat(Boat &tp) {
        this->weight = tp.weight;
    }
    double getWeight() {
        return weight;
    }
    ~Boat()
    {

    }
    friend double totalWeight(Boat &a, Car &b);
    void show() {
        cout << "This is a Boat:" << endl;
        cout << "Weight:" << weight << endl;
    }
};
double totalWeight(Boat &a, Car &b) {
    return a.getWeight() + b.getWeight();
}
int main() {
    Boat a(1024.0);
    Car b(1024.0);
    a.show();
    b.show();
    cout << "The total weight of the Car and the Boat:" << endl;
    cout << totalWeight(a, b);
    return 0;
}
  • 测试截图

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DT乱“码”

接口测试类(http,post请求)参数 json格式

package RMI; import java.io.BufferedReader; import java.io.DataOutputStream; im...

24890
来自专栏码匠的流水账

聊聊spring cloud netflix的HystrixCommands

本文主要研究一下spring cloud netflix的HystrixCommands。

18220
来自专栏函数式编程语言及工具

Cats(2)- Free语法组合,Coproduct-ADT composition

    上篇我们介绍了Free类型可以作为一种嵌入式编程语言DSL在函数式编程中对某种特定功能需求进行描述。一个完整的应用可能会涉及多样的关联功能,但如果我们为...

23150
来自专栏mathor

Hanoi(汉诺塔)

13720
来自专栏Golang语言社区

Golang语言--映射

Go编程提供另一个重要的数据类型是映射,唯一映射一个键到一个值。一个键要使用在以后检索值的对象。给定的键和值,可以在一个Map对象存储的值。值存储后,您可以使用...

35250
来自专栏数据结构与算法

BZOJ 2648: SJY摆棋子(K-D Tree)

15800
来自专栏一个会写诗的程序员的博客

【Kotlin 反应式编程】第1讲 你好,Reactive Programming

【Kotlin 反应式编程】第1讲 你好,Reactive Programming

9220
来自专栏Java成神之路

Java企业微信开发_02_通讯录同步

       登录企业微信—>管理工具—>通讯录同步助手—>开启“API接口同步”  ; 开启后,即可看到通讯录密钥,也可设置通讯录API的权限:读取或者编辑通...

96420
来自专栏数据结构与算法

TopcoderSRM679 Div1 250 FiringEmployees(树形dp)

有一个 \(n\) 个点的树,每个点有点权(点权可能为负) ,求包含点\(1\)的最 大权连通子图(的权值和) 。 \(n \leqslant 2500\)

6530
来自专栏小筱月

java 开发 face++ 人脸特征识别系统

首先要在 face++ 注册一个账号,并且创建一个应用,拿到 api key 和 api secret;

33510

扫码关注云+社区

领取腾讯云代金券