第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下代碼內(nèi)容是關(guān)于iostream.h和iostream的使用,求解釋~

以下代碼內(nèi)容是關(guān)于iostream.h和iostream的使用,求解釋~

C++ C
一只名叫tom的貓 2021-12-07 23:19:09
以下程序使用友元函數(shù)重載<<、>>,使之能適用于復(fù)數(shù)類:#include<iostream.h>class Complex{double Real, Image;public:Complex(double r=0, double i=0){Real=r; Image=i;}friend istream& operator>>(istream &, Complex &);friend ostream& operator<<(ostream &, Complex &);};istream& operator>>(istream &in, Complex &c){  in>>c.Real>>c.Image;return in;}ostream& operator<<(ostream &out, Complex &c){  out<<c.Real;if(c.Image>0) out<<'+'<<c.Image<<'i'; else if(c.Image<0) out<<c.Image<<'i'; out<<endl;return out;}void main( ){Complex c1(1, 2), c2;cout<<c1; cout<<"Please input c1 & c2:\n";cin>>c1>>c2; cout<<c1<<c2; }此程序可以正確運(yùn)行,但是一旦將#include<iostream.h>改成#include<iostream>using namespace std;編譯就無法通過了,提示說重載運(yùn)算符的函數(shù)不能訪問Complex的私有成員,請問這是什么道理?這兩種用法到底有何區(qū)別?這個程序怎樣能改成使用第二種寫法的正確程序呢?
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個贊

你這個程序在g++,中改成后面的可以使用。
如果學(xué)習(xí)C++,必須使用VC2003或者以上版本(Anders寫的)。
VC6/VC98中有很多C++的硬傷,那時候的VC連你說的那個iostream都不能完整支持。
語法兼容性才8X%,也就是說很可能你的程序沒有任何問題,VC也不能編譯通過,#include<iostream.h> 這個就是因?yàn)閕ostream在那個年代還不能完全支持的產(chǎn)物。
至于你說的問題,個人感覺像VC 6的bug之一或者環(huán)境中另外有一個同名類。
此外,main的返回值應(yīng)當(dāng)是int,你那樣寫在現(xiàn)代編譯器會報錯。

查看完整回答
反對 回復(fù) 2021-12-12
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個贊

在某些編譯器中 就必須用#include<iostream.h>
而有的就是必須用#include<iostream>
using namespace std;
有的是兩者都可以 例如你在vs2005就不能用#include<iostream.h>
沒什么意義就是編譯器不認(rèn)同了

查看完整回答
反對 回復(fù) 2021-12-12
?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個贊

同編譯器有關(guān)吧。兩種寫法都可以,結(jié)果一樣。
正規(guī)寫法 (新的國際標(biāo)準(zhǔn))無 .h:
#include<iostream>
using namespace std;

查看完整回答
反對 回復(fù) 2021-12-12
  • 3 回答
  • 0 關(guān)注
  • 409 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號