平日小问题 (2):[Error] 'setprecision' is not a member of 'std'

#include <iostream>

template <typename t>
t sum(t x,t y)
{
    return x+y;
}

int main()
{
    int a,b;
    double c,d;

    std::cin>>a>>b>>c>>d;

    std::cout<<sum(a,b)<<std::endl;
    std::cout<<std::fixed<<std::setprecision(3)<<sum(c,d)<<std::endl;
}

报错:[Error] ‘setprecision’ is not a member of ‘std’

需要加上头文件 便可通过编译

修改后:

#include <iostream>
#include <iomanip>
template <typename t>
t sum(t x,t y)
{
    return x+y;
}

int main()
{
    int a,b;
    double c,d;

    std::cin>>a>>b>>c>>d;

    std::cout<<sum(a,b)<<std::endl;
    std::cout<<std::fixed<<std::setprecision(3)<<sum(c,d)<<std::endl;
}
#include <iostream> #include <iomanip> #include <string> using namespace std; class Point { private: string type; double x, y; public: Point(string t = "", double xx = 0, double yy = 0) : type(t), x(xx), y(yy) {} Point(const Point& p) : type(p.type), x(p.x), y(p.y) {} virtual ~Point() { cout << type << " object is destroyed." << endl; } friend ostream& operator<<(ostream& os, const Point& p) { os << "Type: " << p.type << "\nX: " << fixed << setprecision(2) << p.x << "\nY: " << fixed << setprecision(2) << p.y; return os; } virtual void PrintName() { cout << "This is a Point object." << endl; } }; class Circle : public Point { private: double r; public: Circle(string t = "", double xx = 0, double yy = 0, double rr = 0) : Point(t, xx, yy), r(rr) {} Circle(const Circle& c) : Point(c), r(c.r) {} ~Circle() { cout << type << " object is destroyed." << endl; } friend ostream& operator<<(ostream& os, const Circle& c) { os << static_cast<const Point&>(c) << "\nRadius: " << fixed << setprecision(2) << c.r; return os; } virtual void PrintName() { cout << "This is a Circle object." << endl; } }; class Cylinder : public Circle { private: double h; public: Cylinder(string t = "", double xx = 0, double yy = 0, double rr = 0, double hh = 0) : Circle(t, xx, yy, rr), h(hh) {} Cylinder(const Cylinder& cy) : Circle(cy), h(cy.h) {} ~Cylinder() { cout << type << " object is destroyed." << endl; } friend ostream& operator<<(ostream& os, const Cylinder& cy) { os << static_cast<const Circle&>(cy) << "\nHeight: " << fixed << setprecision(2) << cy.h; return os; } virtual void PrintName() { cout << "This is a Cylinder object." << endl; } }; int main() { Point p1("Point1", 1, 2); Point p2("Point2", 3, 4); Circle c1("Circle1", 5, 6, 7); Circle c2("Circle2", 8, 9, 10); Cylinder cy1("Cylinder1", 11, 12, 13, 14); Cylinder cy2("Cylinder2", 15, 16, 17, 18); cout << p1 << endl; cout << p2 << endl; cout << c1 << endl; cout << c2 << endl; cout << cy1 << endl; cout << cy2 << endl; Point* ptr; ptr = &p1; ptr->PrintName(); ptr = &c1; ptr->PrintName(); ptr = &cy1; ptr->PrintName(); return 0; }c:\program files (x86)\microsoft visual c++6.0\myprojects\shiayn6\6.cpp(27) : error C2248: 'type' : cannot access private member declared in class 'Point' c:\program files (x86)\microsoft visual c++6.0\myprojects\shiayn6\6.cpp(8) : see declaration of 'type' 执行 cl.exe 时出错.
06-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值