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

  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 煙皚 閱讀(1085) 評論(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>
            久久久噜噜噜久久久| 午夜视频久久久久久| 蜜桃久久精品一区二区| 在线不卡免费欧美| 亚洲国产小视频| 欧美伦理91i| 亚洲曰本av电影| 欧美亚洲日本国产| 亚洲国产欧美日韩另类综合| 亚洲国产成人av好男人在线观看| 欧美日韩三级视频| 久久久久久久综合日本| 老司机一区二区| 亚洲色图自拍| 久久国产精品高清| 洋洋av久久久久久久一区| 亚洲小说欧美另类婷婷| 一区在线播放| 一区二区欧美亚洲| 亚洲高清成人| 亚洲永久免费| 亚洲美女黄色| 欧美一级艳片视频免费观看| 亚洲激精日韩激精欧美精品| 亚洲视频在线一区观看| 亚洲第一在线综合网站| 亚洲午夜视频在线| 亚洲国产裸拍裸体视频在线观看乱了| 一本色道**综合亚洲精品蜜桃冫| 国产在线拍揄自揄视频不卡99| 亚洲欧洲精品天堂一级| 国内伊人久久久久久网站视频| 亚洲精品在线观| 狠狠色狠色综合曰曰| 一区二区高清在线观看| 在线观看精品| 欧美一区二区日韩| 亚洲无限av看| 你懂的亚洲视频| 久久精品一区二区三区中文字幕| 欧美日韩www| 欧美国产日本| 在线观看日产精品| 欧美一区二区三区在线免费观看 | 欧美一区二区三区免费视频| 亚洲免费不卡| 美腿丝袜亚洲色图| 久久这里有精品视频| 国产欧美另类| 中文欧美日韩| 国产精品99久久不卡二区 | 亚洲精品自在久久| 亚洲黄色三级| 久久一区二区视频| 久久婷婷影院| 国内一区二区三区| 久久av二区| 久久国产欧美精品| 国产亚洲精品激情久久| 亚洲专区在线| 午夜激情综合网| 国产精品久久久久久久久免费樱桃 | 久久久国产一区二区三区| 国产精品国产三级国产专播品爱网| 亚洲人体偷拍| 一区二区三区国产| 欧美日韩亚洲激情| 一本色道久久99精品综合| 亚洲一区久久久| 国产精品第2页| 亚洲欧美国产一区二区三区| 欧美在线免费观看亚洲| 国产亚洲午夜| 久久久久国产一区二区三区| 美日韩精品免费观看视频| 亚洲电影在线观看| 欧美成人国产va精品日本一级| 蜜臀av一级做a爰片久久| 91久久久久久久久久久久久| 欧美日韩高清一区| 亚洲一区三区在线观看| 久久九九99视频| 亚洲国产视频直播| 欧美喷水视频| 午夜宅男欧美| 欧美刺激午夜性久久久久久久| 99热免费精品在线观看| 欧美吻胸吃奶大尺度电影| 亚洲欧美日韩国产中文| 欧美aa国产视频| 亚洲在线中文字幕| 激情综合自拍| 欧美日韩在线播| 久久精品国产视频| 亚洲欧洲一区二区在线播放| 欧美在线啊v| 亚洲激情在线视频| 国产精品入口尤物| 蜜臀久久99精品久久久画质超高清| 亚洲久久在线| 久久综合色综合88| 宅男精品视频| 亚洲二区在线| 国产精品伦理| 欧美激情第4页| 欧美一级视频精品观看| 亚洲精品欧美专区| 久久综合九色综合网站| 亚洲欧美另类在线观看| 91久久久一线二线三线品牌| 国产欧美日韩伦理| 欧美日韩精品免费观看| 久久综合久色欧美综合狠狠 | 欧美成人国产| 欧美在线一二三| 夜夜爽夜夜爽精品视频| 亚洲第一精品夜夜躁人人躁| 国产精品久久久久毛片软件 | 亚洲欧美高清| 亚洲精品在线视频| 米奇777超碰欧美日韩亚洲| 欧美一级淫片aaaaaaa视频| 一本色道久久综合亚洲精品婷婷| 一区二区三区在线免费播放| 国产精品一区二区久激情瑜伽| 欧美极品aⅴ影院| 农村妇女精品| 久久久噜噜噜久久| 久久精品视频99| 欧美一级片一区| 亚洲欧美色婷婷| 亚洲欧美日韩精品久久久| 一区二区高清在线| 99精品视频免费全部在线| 亚洲国产日韩一区二区| 欧美国产日韩亚洲一区| 欧美成人激情视频| 欧美国产先锋| 亚洲国产小视频| 亚洲国产精品免费| 亚洲黄色精品| 亚洲人成在线播放| 91久久精品日日躁夜夜躁欧美| 亚洲国产精品一区二区第四页av| 欧美成人在线影院| 亚洲国产精品成人综合色在线婷婷| 欧美成人精品h版在线观看| 你懂的视频欧美| 亚洲国产精品第一区二区三区| 亚洲电影免费观看高清完整版在线观看 | 久久久久久穴| 久久色在线播放| 欧美不卡一卡二卡免费版| 欧美va亚洲va国产综合| 欧美激情自拍| 欧美视频一区二区三区| 国产精品第13页| 国产一区二区欧美| 亚洲国产成人精品女人久久久 | 一本大道久久a久久综合婷婷| 在线视频欧美一区| 午夜精品福利视频| 久久精品天堂| 欧美精品www| 国产精品视频网站| 狠狠色狠狠色综合| 夜夜爽99久久国产综合精品女不卡| 亚洲午夜精品久久久久久app| 欧美影院午夜播放| 欧美成人日本| 亚洲视频在线免费观看| 久久久久久久999精品视频| 欧美黑人多人双交| 国产日韩1区| 亚洲美女淫视频| 久久国产精品毛片| 亚洲国产精品一区二区第一页| 宅男噜噜噜66国产日韩在线观看| 香蕉久久一区二区不卡无毒影院 | 欧美精品国产| 国产亚洲一区二区三区| 亚洲精品乱码久久久久| 欧美中文字幕在线播放| 亚洲高清一区二| 欧美亚洲免费电影| 欧美人与禽性xxxxx杂性| 国产在线精品一区二区中文| 一本久久综合亚洲鲁鲁| 久久视频一区二区| 亚洲一本视频| 欧美1级日本1级| 国产一区在线免费观看| 亚洲一区二区三区四区五区黄| 免费成人av| 午夜在线视频观看日韩17c| 欧美日韩性生活视频| 亚洲欧洲一区二区三区久久| 久久精品理论片| 亚洲欧美在线免费观看| 欧美视频网址|