青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  117 Posts :: 2 Stories :: 61 Comments :: 0 Trackbacks

常用鏈接

留言簿(8)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

轉自:http://hi.baidu.com/%C4%CF%B7%C9%D1%E3%D1%E3%C4%CF%B7%C9/blog/item/4722d43c53868b09bba1672e.html

舉個例子:

#include<iostream> 
using namespace std; 
class cylinder 

    friend istream 
operator>>(istream& is,cylinder &cy); 
public:     
    inline 
double square() 
    
{       return length*(width+height)*2+width*height*2;    } 
    inline 
double volume() 
    
{      return length*width*height;      } 
private
    
double length; 
    
double width; 
    
double height; 
}

istream 
operator>>(istream is,cylinder &cy) 

    cout
<<"input length:"<<endl; 
    
is>>cy.length; 
    cout
<<"input width:"<<endl; 
    
is>>cy.width; 
    cout
<<"input height:"<<endl; 
    
is>>cy.height; 
    
return is
}
 
int main() 

    cylinder first; 
    cin
>>first; 
    cout
<<first.square()<<endl; 
    cout
<<first.volume()<<endl; 
    
return 0
}

這些代碼在VC6.0中不能被編譯通過:提示不能訪問私有成員,沒有這個訪問權限

改成這樣就可以了,代碼如下:(我用的這個方法,但是得把變量改成public才行)

#include<iostream> 
using std::cin; 
using std::endl; using std::cout; 
using std::ostream; 
using std::istream; 
using std::ostream; 
class cylinder 

    friend istream 
operator>>(istream& is,cylinder &cy); 
public:     
    inline 
double square() 
    
{       return length*(width+height)*2+width*height*2;    } 
    inline 
double volume() 
    
{      return length*width*height;      } 
private
    
double length; 
    
double width; 
    
double height; 
}

istream 
operator>>(istream is,cylinder &cy) 

    cout
<<"input length:"<<endl; 
    
is>>cy.length; 
    cout
<<"input width:"<<endl; 
    
is>>cy.width; 
    cout
<<"input height:"<<endl; 
    
is>>cy.height; 
    
return is
}
 
int main() 

    cylinder first; 
    cin
>>first; 
    cout
<<first.square()<<endl; 
    cout
<<first.volume()<<endl; 
    
return 0
}

原因:

這據說是VC的一個經典BUG。和namespace也有關.

只要含有using namespace std; 就會提示友員函數沒有訪問私有成員的權限。

解決方法:去掉using namespace std;換成更小的名字空間。

例如:
含有#include <string>就要加上using std::string
含有#include <fstream>就要加上using std::fstream
含有#include <iostream>就要加上using std::cin; using std::cout; using std::ostream; using std::istream; using std::endl; 等等,需要什么即可通過using聲明什么.

下面給出流浪給的解決辦法:

//方法一:
//提前聲明
class cylinder;
istream &operator>>(istream& is,cylinder &cy);

//方法二:
//不用命名空間 或者 像晨雨那樣寫
#include<iostream.h>

//方法三:

class cylinder
{
    friend istream &operator>>(istream& is,cylinder &cy)//寫在類里面
    {
        cout<<"input length:"<<endl;
        is>>cy.length;
        cout<<"input width:"<<endl;
        is>>cy.width;
        cout<<"input height:"<<endl;
        is>>cy.height;
        return is;
       
    }
..........
//方法四:打SP6補丁,貌似不好使。。。(呵呵,是貌似也沒用)

//方法五:換別的對標準C++支持好的編譯器,如DEV C++/。。。(呵呵)

本文來自CSDN博客,轉載:http://blog.csdn.net/zgjxwl/archive/2008/10/13/3067973.aspx

posted on 2010-02-15 02:56 煙皚 閱讀(1076) 評論(1)  編輯 收藏 引用 所屬分類: C++ primer plus學習筆記

Feedback

# re: VC6.0中友元函數無法訪問類私有成員的解決辦法-------VC6.0的bug 2010-09-19 22:36 吳冬亮
sp6補丁裝了就ok了

地址:
http://download.microsoft.com/download/1/9/f/19fe4660-5792-4683-99e0-8d48c22eed74/Vs6sp6.exe

就算認為自己裝過了 也請重裝遍 肯定行!  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美高清视频在线| 91久久久久久久久久久久久| 欧美一区二区三区视频在线 | 久久精品视频导航| 亚洲天堂网站在线观看视频| 亚洲美女在线视频| 一级日韩一区在线观看| 99riav国产精品| 亚洲欧美精品在线观看| 欧美一区二区免费| 老司机凹凸av亚洲导航| 一区二区欧美精品| 欧美国产一区在线| 欧美日韩一区不卡| 欧美日韩综合在线| 国产农村妇女毛片精品久久麻豆| 国产精品一区二区久激情瑜伽| 国产在线观看91精品一区| 亚洲福利小视频| 亚洲一区二三| 久久这里只有| 亚洲日本成人| 亚洲综合日韩中文字幕v在线| 久久av资源网| 欧美成人综合网站| 亚洲精品一区二| 午夜精品久久久久久久99黑人 | 久久精品日韩| 久久综合久久综合久久| 欧美日韩综合精品| 老司机午夜精品| 亚洲剧情一区二区| 欧美在线一二三四区| 久久精品30| 欧美系列亚洲系列| 亚洲第一中文字幕| 亚洲中无吗在线| 亚洲第一成人在线| 亚洲欧美日韩成人高清在线一区| 久久综合一区二区三区| 国产精品久久国产精品99gif| 激情成人综合| 欧美精品 国产精品| 国产日韩精品综合网站| 亚洲精品视频在线看| 久久综合九色99| 国产在线精品自拍| 久久99在线观看| 亚洲一区精彩视频| 欧美精品一区二区久久婷婷| 国产色婷婷国产综合在线理论片a| 亚洲香蕉伊综合在人在线视看| 欧美成人一区二区三区| 欧美在线亚洲综合一区| 国产欧美一区二区精品仙草咪| 亚洲一区二区免费看| 99亚洲一区二区| 欧美日韩三级| 亚洲网站在线看| 亚洲精品欧洲| 欧美日韩免费高清一区色橹橹| 最新国产乱人伦偷精品免费网站| 美女日韩在线中文字幕| 久久久久久亚洲精品杨幂换脸 | 国产欧美一区二区精品仙草咪| 亚洲片在线资源| 一区二区三区视频在线观看| 欧美日本一区二区高清播放视频| 亚洲国产成人av| 欧美激情久久久久久| 狂野欧美一区| 亚洲精品视频免费观看| 亚洲黄网站在线观看| 欧美激情精品久久久久久蜜臀 | 国产精品视频专区| 香港久久久电影| 小嫩嫩精品导航| 在线观看日韩www视频免费| 欧美高清不卡| 欧美视频手机在线| 久久国产精品99国产精| 久久女同精品一区二区| 亚洲精品国产精品国自产在线 | 一区二区日本视频| 亚洲视频在线视频| 国产一区二区日韩精品| 免费在线观看成人av| 欧美精品导航| 性欧美大战久久久久久久久| 久久精品国产亚洲一区二区三区 | 久久久www| 蜜臀av性久久久久蜜臀aⅴ| 艳妇臀荡乳欲伦亚洲一区| 亚洲一区二区免费在线| 怡红院精品视频| 亚洲精品在线免费| 国产一区二区三区四区hd| 亚洲国产精品一区二区第四页av| 欧美性色综合| 欧美成人第一页| 国产精品色午夜在线观看| 欧美成人精品在线视频| 国产精品伦一区| 亚洲第一偷拍| 国产视频久久网| 亚洲韩国青草视频| 国产一区亚洲一区| 中文亚洲字幕| 99re国产精品| 久久丁香综合五月国产三级网站| 一区二区精品在线观看| 久久女同精品一区二区| 欧美伊人久久大香线蕉综合69| 欧美成人国产| 久久久亚洲高清| 国产精品国内视频| 欧美二区在线看| 亚洲第一视频| 国产一区二区精品久久99| 亚洲精品国产拍免费91在线| 国产一区视频在线观看免费| 9l视频自拍蝌蚪9l视频成人| 亚洲第一黄网| 久久久久久久欧美精品| 欧美专区中文字幕| 国产精品家教| 一级日韩一区在线观看| 亚洲伦理精品| 欧美激情1区2区| 亚洲国产精品传媒在线观看| 狠狠入ady亚洲精品| 欧美一区二区日韩一区二区| 亚洲男人影院| 国产精品久久久久久五月尺| 日韩视频一区二区| 在线一区亚洲| 欧美午夜三级| 亚洲一区二区三区在线视频| 亚洲婷婷在线| 国产精品黄视频| 亚洲视频在线播放| 亚洲午夜精品在线| 国产精品永久免费视频| 亚洲午夜av| 久久狠狠亚洲综合| 在线观看欧美黄色| 牛人盗摄一区二区三区视频| 欧美激情中文字幕一区二区| 亚洲精品欧美一区二区三区| 欧美激情片在线观看| 日韩视频永久免费| 香港久久久电影| 一区二区亚洲欧洲国产日韩| 久久综合伊人77777麻豆| 亚洲国产日韩欧美在线99| 亚洲精品在线免费| 欧美性大战久久久久久久蜜臀| 一本色道久久| 久久精品在线播放| 亚洲肉体裸体xxxx137| 欧美日韩国产在线播放| 亚洲在线国产日韩欧美| 快she精品国产999| 野花国产精品入口| 国产片一区二区| 欧美fxxxxxx另类| 99这里有精品| 美女视频网站黄色亚洲| 日韩午夜电影| 国产日韩精品一区二区浪潮av| 久久综合99re88久久爱| 一区二区三区成人精品| 久久久久久亚洲精品杨幂换脸| 亚洲国产欧美日韩精品| 国产精品扒开腿做爽爽爽软件| 午夜精品区一区二区三| 亚洲第一区中文99精品| 欧美一区2区视频在线观看| 亚洲国产精品高清久久久| 欧美日在线观看| 麻豆乱码国产一区二区三区| 夜夜夜精品看看| 欧美成人免费网| 欧美一区亚洲二区| 亚洲免费精品| 在线看国产日韩| 国产情人综合久久777777| 久久综合久久久| 在线播放亚洲一区| 久久国产精品黑丝| 亚洲视频自拍偷拍| 亚洲激情视频| 久久综合伊人77777蜜臀| 亚洲私拍自拍| 亚洲精品一区二区三区樱花| 国产亚洲精品7777| 国产精品久久9| 欧美私人网站| 欧美日韩一区二区三区在线 | 欧美中文字幕在线|