c++ - 错误:不能在类的外部定义成员函数
迷茫
迷茫 2017-04-17 14:56:18
0
1
346
include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;


int main()
{
    struct Sales_Data {
        Sales_Data() = default;
        Sales_Data(const string &s) :bookNo(s) {}
        Sales_Data(const string &s, unsigned n, double p) :bookNo(s), units_sold(n), revenue(n*p) {}
        Sales_Data(istream &is);
        string isbn() const { return bookNo; }
        Sales_Data & combine(const Sales_Data&);
        double avg_price() const;
        //数据成员
        string bookNo;
        unsigned units_sold = 0;
        double revenue = 0;
    };
    //在类的外部定义成员函数
    double Sales_Data::avg_price()const {
        if (units_sold)
            return revenue / units_sold;
        else
            return 0;
    }
    Sales_Data add(const Sales_Data& data1, const Sales_Data& data2) {
        Sales_Data sum = data1;
        sum.combine(data2);
        return sum;
    }
    istream& read(istream &is, Sales_Data &item) {
        double price = 0;
        is >> item.bookNo >> " " >> item.units_sold;
        item.revenue = price*units_sold;
        return is;
    }
    ostream& print(ostream &os, Sales_Data &item) {
        os << item.bookNo >> " " << item.units_sold << " " << item.revenue;
        return os;
    }
    Sales_Data::Sales_Data(istream &is) {
        return read(is, *this);
    }
    Sales_Data& Sales_Data::combine(const Sales_Data& rhs) {
        units_sold += rhs.units_sold;
        revenue += rhs.renvenue;
        return *this;
    }
    Sales_Data t1;
    t1.Sales_Data("TheCatcherInRye", 3, 20.5);
    print(os, t1);

    return 0;
}
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
伊谢尔伦

c++ 不能在函数里面定义函数。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板