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

華劍緣
一切都在這個(gè)過程中獲得,將那些目標(biāo)埋藏于心中
posts - 19,comments - 20,trackbacks - 0
[求助]?關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!

#include?
< iostream.h >
class ?Matrix
{
private :
????
int ?rows,columns;
public :
????????
int ? ** pMatrix;
???Matrix(?
int ?rows, int ?columns);
???Matrix(Matrix
& ?);
???
~ Matrix();
int ?GetRows();
int ?GetColumns();
void ?SetValue();
void ?Mul(Matrix?a,Matrix?b);
void ?Mul(Matrix? * pa,Matrix? * pb);
void ?Mul(Matrix? & a,Matrix? & b);

}
;

int ?Matrix::GetRows() { return ?rows;} ;
int ?Matrix::GetColumns() { return ?columns;} ;

// 構(gòu)造函數(shù)
Matrix::Matrix( int ?x, int ?y)
{
?????rows
= x;
?????????columns
= y;
????????pMatrix
= new ? int * ?[x];
?????
for ( int ?i = 0 ;?i < x;?i ++ )
?????pMatrix[i]
= new ? int ?[y];
}


// 析構(gòu)函數(shù)
Matrix:: ~ Matrix()
{
????????
for ( int ?i = 0 ;i < rows;i ++ )
??????????delete[]?pMatrix[i];
????delete[]?pMatrix;
}


// 賦值函數(shù)
void ?Matrix::SetValue()
{
????
int ?i,j,value;
????
for (?i = 0 ;?i < rows;?i ++ )
??????
{
???????????
for (?j = 0 ;?j < columns;?j ++ )
?????????
{
????????????????cout
<< " " << i << " " ;
????????cout
<< " " << j << " 列: " ;
????????cin
>> value;
????????cout
<< endl;
????????pMatrix[i][j]
= value;
?????????}

???????}

}


// 拷貝構(gòu)造函數(shù)
Matrix::Matrix(Matrix & ?M)
{??
?????
for ( int ?i = 0 ;?i < M.rows;?i ++ )
?????????????????
for ( int ?j = 0 ;?j < M.columns;?j ++ )
???????????????????pMatrix[i][j]
= M.pMatrix[i][j];????? /// //這里對不對?有什么更好的方式?
}


void ?Matrix::Mul(Matrix?a,Matrix?b)
{
??Matrix?c(a.GetRows(),b.GetColumns());
????
for ( int ?i = 0 ;i < a.GetRows();i ++ ) {
????????????????
for ( int ?y = 0 ;y < b.GetColumns();y ++ ) {
??????????
if ?(a.GetColumns() == b.GetRows())
????????????
for ( int ?j = 0 ,x = 0 ;j < a.GetColumns(),x < b.GetRows?();j ++ ,x ++ )
??????????????????c.pMatrix[i][y]?
+= a.pMatrix[i][j] * b.pMatrix[x][y];???? /// //這里對不對?有什么更好的方式?

???????????
else ? break ;
????????????????????????
????????????????}

????????}

???
}


// 主函數(shù)
void ?main()
{
????????Matrix?Ma(
3 , 2 ),Mb( 2 , 2 );
????????Ma.SetValue();
????????Mb.SetValue();
????
for ( int ?i;i < Ma.GetRows();i ++ )
????????????????
for ( int ?j;j < Ma.GetColumns();j ++ )
????????????????????????cout
<< Ma.pMatrix[i][j];?? // 為什么編譯運(yùn)行后不能輸出呢??

????????Matrix?Mc(
3 , 2 );??? /// 覺得這樣不妥,還有什么跟好的方法么
????????Mc.Mul(Ma,Mb);???? /// 這樣也不對,怎么讓兩個(gè)Matrix對象相乘呢,有什么更好的方式么?
}


感謝大家熱心指教。
一下是整理后的。
/////////////////////////////////////////////////
/////////////////////////////////////////////////

///////////////////Matrix.Class////////////////////////

#include?<iostream.h>
//using?namespace?std;???????//為什么不能在VC下正常使用

class?Matrix
{
private:
????
int?**pMatrix;
????
int?rows,columns;
public:
static?int?ObjectAliveNo;
????Matrix(
int?rows=0,int?columns=0);
????Matrix(
const?Matrix?&M);
????
~Matrix();
Matrix
&?operator=(const?Matrix&?M);
int?GetRows()?const;
int?GetColumns()?const;
int?GetObjNo()?const;
void?SetValue();
void?Mul(const?Matrix?a,const?Matrix?b);
void?Mul(const?Matrix?*pa,const?Matrix?*pb);
void?MUl(const?Matrix?&a,const?Matrix?&b);
friend?Matrix?
operator~(Matrix&?a);?????????????????????????????????//重載"~"操作符實(shí)現(xiàn)矩陣轉(zhuǎn)置
friend?Matrix?operator*(const?Matrix&?a,const?Matrix&?b);??????????//重載"~"操作符實(shí)現(xiàn)矩陣相乘
//friend?ostream&?operator<<(const?ostream&?os,const?Matrix&?M);???//!!!
friend?ostream&?operator<<(ostream&?os,const?Matrix&?M);
}
;

//構(gòu)造函數(shù)
Matrix::Matrix(int?x,int?y)
{
????ObjectAliveNo
++;
????rows
=x;
????columns
=y;
??????pMatrix
=new?int?*[rows];????????//創(chuàng)建指針數(shù)組
??????for(int?i=0;?i<rows;?i++){
???????pMatrix[i]
=new?int?[columns];?//真正實(shí)現(xiàn)二維數(shù)組
???????for(int?j=0;?j<columns;?j++)
?????????pMatrix[i][j]
=0;???????????//對二維數(shù)組初始化
?????}

}


//拷貝構(gòu)造函數(shù)函數(shù)
Matrix::Matrix(const?Matrix&?M)
{
????rows
=M.rows;
????columns
=M.columns;
????
//賦值前現(xiàn)分配空間!
????pMatrix=new?int?*[rows];
?????
for(int?m=0;?m<rows;?m++)
???????pMatrix[m]
=new?int?[columns];
???????
??
for(int?i=0;i<rows;i++)
????
for(int?j=0;j<columns;j++)
??????pMatrix[i][j]
=M.pMatrix[i][j];
}


//析構(gòu)函數(shù)
Matrix::~Matrix()
{
????ObjectAliveNo
--;
????
for(int?i=0;i<rows;i++)
????delete[]?pMatrix[i];????????
//注意delete的順序
????delete[]?pMatrix;
}


//
int?Matrix::GetRows()?const?{return?rows;}????????????//
int?Matrix::GetColumns()?const?{return?columns;}??????//
int?Matrix::GetObjNo()?const?{return?ObjectAliveNo;}??//對象數(shù)


//為矩陣賦值
void?Matrix::SetValue()
{
??cout
<<"請對矩陣的每一項(xiàng)賦值:"<<endl;
????
int?i,j,value;
????
for(i=0;i<rows;i++)
??????
for(j=0;j<columns;j++){
????????cout
<<"第?"<<i+1<<"";
????????cout
<<""<<j+1<<"列:";
????????cin
>>value;
????????pMatrix[i][j]
=value;
??????}

}


//重載"="操作符實(shí)現(xiàn)矩陣之間賦值
Matrix&?Matrix::operator=(const?Matrix&?M)
{
?????
if(this?!=?&M){
????
for?(int?ii?=?0?;ii?<?rows;ii++?)
??????
if(pMatrix[ii])
??????delete[]?pMatrix[ii];
???
if(pMatrix)
???delete[]?pMatrix;
???rows?
=?M.rows;
???columns?
=?M.columns;
??
//分配存儲(chǔ)空間
???pMatrix?=?new?int*?[rows];
???
for?(int?k=0?;k<rows?;k++?)
???pMatrix[k]?
=?new?int[columns];

???
for?(?int?i=0;?i<rows;?i++?)
?????
for?(?int?j?=?0?;?j?<?columns;?j?++?)
??????pMatrix[i][j]?
=?M.pMatrix[i][j];
?}

return?*this;
}


//調(diào)用函數(shù)實(shí)現(xiàn)矩陣相乘操作
void?Matrix::Mul(const?Matrix?a,const?Matrix?b)
{
????Matrix?c(a.GetRows(),b.GetColumns());
????
if(a.GetColumns()==b.GetRows()){
???????
int?temp=0;
???????
for(int?i=0;i<a.GetRows();i++)
???????????
for(int?j=0;j<b.GetColumns();j++){
??????????????
for(int?k=0;k<a.GetColumns();k++)
??????????????temp
=temp+a.pMatrix[i][k]*b.pMatrix[k][j];
??????????????c.pMatrix[i][j]
=temp;
??????????????temp
=0;
???????????}

????}

//輸出相乘結(jié)果
?????for(int?i=0;i<c.GetRows();i++){
????cout
<<'\n';
????????
for(int?y=0;y<c.GetColumns();y++)
??????????????cout
<<c.pMatrix[i][y]<<'?';
????????}

}


//重載操作符"*"實(shí)現(xiàn)矩陣相乘操作
Matrix?operator*(const?Matrix&?a,const?Matrix&?b)
{
if?(a.columns?==?b.rows){
??Matrix?c(a.rows,b.columns);
???
for?(?int?i?=?0?;i?<?a.rows;i?++?){
????
for?(?int?j?=?0?;j?<?b.columns;j?++?){
???????
for?(?int?columnIndex=?0?;columnIndex?<?a.columns;columnIndex++?)
?????????c.pMatrix[i][j]?
+=?a.pMatrix[i][columnIndex]?*?b.pMatrix[columnIndex][j];
???????}

????}

????
return?c;
??}

else
return?Matrix();
}


//重載"~"操作符實(shí)現(xiàn)矩陣轉(zhuǎn)置
Matrix?operator~(Matrix&?a)
{
????Matrix?b(a.columns,a.rows);
????
for(int?i=0;i<a.rows;i++)
?????
for(int?j=0;j<a.columns;j++)
??????b.pMatrix[j][i]
=a.pMatrix[i][j];
??????
??????
return?b;
}



//對"cout"進(jìn)行重定義
ostream&?operator<<(ostream&?os,const?Matrix&?M){
??
for?(int?i?=?0;i?<?M.rows;i++?){
?????
for?(int?j?=?0;j?<?M.columns;j++?)
???????os?
<<?M.pMatrix[i][j]?<<?"?";
???????os?
<<?endl;
??}

?
return?(os?<<?endl);
}


//靜態(tài)成員賦初值!
int?Matrix::ObjectAliveNo=0;

//主函數(shù)
int?main()
{
????Matrix?Ma(
6,3),Mb(3,5);
????Ma.SetValue();
????Mb.SetValue();
cout
<<'\n'<<"現(xiàn)在有"<<Ma.GetObjNo()<<"個(gè)矩陣"<<endl;?????//前后對比檢查各種函數(shù)對ObjectAliveNo的影響
cout<<Ma<<endl;
Matrix?Mc;
Mc
=Ma*Mb;
cout
<<Mc;
cout
<<'\n'<<"現(xiàn)在有"<<Ma.GetObjNo()<<"個(gè)矩陣"<<endl;?????//見上一條注釋?!!出現(xiàn)錯(cuò)誤:沒有正常計(jì)數(shù)

cout
<<"Ma的轉(zhuǎn)置:"<<endl;
Matrix?Me;
Me
=~Ma;
cout
<<Me<<endl;

Matrix?Md;
Md.Mul(Ma,Mb);
cout
<<'\n'<<"現(xiàn)在有"<<Ma.GetObjNo()<<"個(gè)矩陣"<<endl;????//有沒有正常計(jì)數(shù)?


return?0;
}

posted on 2006-04-11 13:22 華劍緣 閱讀(750) 評論(6)  編輯 收藏 引用

FeedBack:
# re: [求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!
2006-04-11 15:01 | 芋頭
1、構(gòu)造函數(shù)里沒有對pMatrix初始化為0值,將導(dǎo)致后面有些地方錯(cuò)誤。
2、拷貝構(gòu)造函數(shù)和默認(rèn)構(gòu)造函數(shù)只會(huì)調(diào)用一個(gè),你的拷貝構(gòu)造函數(shù)中沒有初始化pMatrix以及rows和columns。
3、Matrix::Mul中,if可以寫在外面;由于構(gòu)造函數(shù)中沒有初始化0,c.pMatrix[i][y] +=這里肯定是錯(cuò)誤的;另外,既然a.GetColumns() == b.GetRows(),就沒有必要用j和x這2個(gè)變量了,一個(gè)就行了。
4、main函數(shù)里面的2個(gè)for循環(huán),怎么i和j都不用初始化0的嗎?
5、最后2行,是很不妥。可以考慮寫成static,或?qū)懸粋€(gè)全局的operator*。

暫時(shí)只看出來這些。至于對錯(cuò),這個(gè)最好自己調(diào)試。可以把算法轉(zhuǎn)成自己看得懂的語言輸出出來,比如:把矩陣a的第幾行第幾列和矩陣b的第幾行第幾列相乘,加到矩陣c的第幾行第幾列。這樣的話,自己看得懂能排錯(cuò)就行了。  回復(fù)  更多評論
  
# re: [求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!
2006-04-11 16:05 | 任我行
void Matrix::Mul(Matrix a,Matrix b)給誰用呢?
  回復(fù)  更多評論
  
# re: [求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!
2006-04-12 13:44 | 史傳紅
看到了樓主的這篇文章,我試著改了一下,如下:希望大家一起加入討論。

#include <iostream>
using namespace std;

class Matrix
{
private:
int rows,columns;
int **pMatrix;
public:
Matrix(int rows = 3,int columns = 2);
Matrix(const Matrix &M);
~Matrix();
Matrix& operator=(const Matrix& M);
int GetRows() const;
int GetColumns() const;
void SetValue();
friend Matrix operator*(const Matrix& a,const Matrix& b);
friend ostream& operator<<(ostream& os,const Matrix& M);
};

int Matrix::GetRows() const { return rows;}
int Matrix::GetColumns() const { return columns;}

// 構(gòu)造函數(shù)
Matrix::Matrix(int x,int y)
{
rows = x;
columns = y;
//有的時(shí)候?yàn)榱丝紤]創(chuàng)建對象的效率,在使用的時(shí)候分配存儲(chǔ)空間,而不在構(gòu)造函數(shù)中分配
pMatrix = new int* [x];
for (int i = 0 ; i < x; i++ )
{
pMatrix[i] = new int[y];
for(int j = 0;j < y;j++) //初始化每個(gè)值為0
pMatrix[i][j] = 0;
}
}
// 析構(gòu)函數(shù)
Matrix::~Matrix()
{
for (int i = 0 ;i < rows;i ++ )
delete[] pMatrix[i];
delete[] pMatrix;
}

// 賦值函數(shù)
Matrix& Matrix::operator=(const Matrix& M)
{
if(this != &M)
{
for (int ii = 0 ;ii < rows;ii++ )
if(pMatrix[ii])
delete[] pMatrix[ii];
if(pMatrix)
delete[] pMatrix;
rows = M.rows;
columns = M.columns;
//分配存儲(chǔ)空間
pMatrix = new int* [rows];
for (int k = 0 ; k < rows; k++ )
pMatrix[k] = new int[columns];

for ( int i = 0 ; i < rows; i ++ )
for ( int j = 0 ; j < columns; j ++ )
pMatrix[i][j] = M.pMatrix[i][j];
}
return *this;
}
void Matrix::SetValue()
{
int i,j,value;
for ( i = 0 ; i < rows; i ++ )
{
for ( j = 0 ; j < columns; j ++ )
{
cout << " 第 " << i << " 行 " ;
cout << " 第 " << j << " 列: " ;
cin >> value;
cout << endl;
pMatrix[i][j] = value;
}
}
}
// 拷貝構(gòu)造函數(shù)
Matrix::Matrix(const Matrix& M)
{
rows = M.rows;
columns = M.columns;
//分配存儲(chǔ)空間
pMatrix = new int* [rows];
for (int k = 0 ; k < rows; k++ )
pMatrix[k] = new int[columns];

for ( int i = 0 ; i < rows; i ++ )
for ( int j = 0 ; j < columns; j ++ )
pMatrix[i][j] = M.pMatrix[i][j];
}

Matrix operator*(const Matrix& a,const Matrix& b)
{
if (a.columns == b.rows)
{
Matrix c(a.rows,b.columns);
for ( int i = 0 ;i < a.rows;i ++ )
{
for ( int j = 0 ;j < b.columns;j ++ )
{
for ( int columnIndex= 0 ;columnIndex < a.columns;columnIndex++ )
c.pMatrix[i][j] += a.pMatrix[i][columnIndex] * b.pMatrix[columnIndex][j];
}
}
return c;
}
else
return Matrix();
}

ostream& operator<<(ostream& os,const Matrix& M)
{
for (int i = 0;i < M.rows;i++ )
{
for (int j = 0;j < M.columns;j++ )
os << M.pMatrix[i][j] << " ";
os << endl;
}
return (os << endl);
}


// 主函數(shù)
void main()
{
Matrix Ma(3,2),Mb(2,2);
Ma.SetValue();
Mb.SetValue();
cout << Ma << endl;
cout << Mb << endl;

Matrix Mc = Ma * Mb;//拷貝構(gòu)造函數(shù)
cout << Mc << endl;
Mc = Mb; //=運(yùn)算符,即賦值函數(shù)
cout << Mb << endl;
}   回復(fù)  更多評論
  
# re: [求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!
2006-04-12 20:53 | roa420
還是有錯(cuò),編譯出現(xiàn)7個(gè)錯(cuò)誤!
ostream& operator<<(ostream& os,const Matrix& M) 中沒有權(quán)限訪問類中私有的rows和columns 這兩個(gè)成員。
  回復(fù)  更多評論
  
# re: [求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!
2006-04-12 21:49 | 華劍緣
不是呀,我這里編譯,運(yùn)行都沒出錯(cuò)呀  回復(fù)  更多評論
  
# re: [求助] 關(guān)于拷貝構(gòu)造函數(shù),對象傳遞!!
2006-04-13 12:48 | 史傳紅
@roa420
我在Visual C++ 6.0中編譯的時(shí)候也出現(xiàn)過問題,我懷疑它對友元支持的不好。
建議你換一個(gè)編譯器試試看。  回復(fù)  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美在线影院| 欧美va亚洲va国产综合| 国产精品入口夜色视频大尺度| 欧美网站在线观看| 欧美日韩天堂| 国产欧美一区二区三区国产幕精品| 国产农村妇女精品一二区| 国产夜色精品一区二区av| 含羞草久久爱69一区| 亚洲大片精品永久免费| 亚洲精品一级| 午夜精品一区二区三区在线视| 羞羞漫画18久久大片| 久久久久久一区| 91久久综合亚洲鲁鲁五月天| 99riav国产精品| 午夜一区二区三区不卡视频| 久久久久久久成人| 在线观看亚洲专区| 欧美亚洲一区| 久久久久久亚洲精品中文字幕 | 亚洲一区二区三区777| 欧美亚洲日本国产| 裸体丰满少妇做受久久99精品| 免费日韩av| 亚洲一区视频在线| 男人的天堂亚洲| 国产精品日韩久久久久| 亚洲高清不卡av| 性8sex亚洲区入口| 激情成人综合网| 亚洲区在线播放| 一区二区不卡在线视频 午夜欧美不卡在 | 狼人社综合社区| 99精品国产高清一区二区| 午夜精品一区二区三区四区| 国产精品女主播在线观看| 亚洲乱码国产乱码精品精98午夜| 亚洲欧美日韩高清| 欧美日本国产| 伊人久久综合| 小嫩嫩精品导航| 亚洲人成网站777色婷婷| 亚洲欧美日韩精品综合在线观看| 蜜臀av一级做a爰片久久| 国产精品视频内| 亚洲一区二区三区精品在线| 亚洲第一区中文99精品| 久久精品国产999大香线蕉| 国产精品视频九色porn| 亚洲午夜精品17c| 亚洲精品1234| 国产精品久久久爽爽爽麻豆色哟哟| 国产日韩欧美自拍| 午夜精品久久一牛影视| 亚洲精一区二区三区| 你懂的一区二区| 亚洲国产精品一区二区第四页av | 亚洲欧美日韩在线不卡| 亚洲最黄网站| 欧美福利一区二区三区| 亚久久调教视频| 国产精品毛片一区二区三区| 亚洲视频大全| 亚洲在线中文字幕| 国产精品午夜国产小视频| 亚洲欧美在线x视频| 中文网丁香综合网| 国产美女扒开尿口久久久| 欧美在线视频观看| 久久久久久97三级| 亚洲成人在线| 亚洲国产精品久久久久婷婷884| 久久婷婷av| 亚洲精品一区二区三区四区高清| 久久这里只精品最新地址| 老牛影视一区二区三区| 91久久中文字幕| 99精品国产热久久91蜜凸| 国产精品国产馆在线真实露脸| 亚洲欧美日韩国产成人| 亚洲午夜电影网| 国内揄拍国内精品久久 | 亚洲日韩第九十九页| 欧美日韩精品二区| 欧美在线影院在线视频| 久久免费午夜影院| 一区二区三区四区五区精品视频| 正在播放亚洲| 在线国产日韩| 亚洲午夜免费视频| 在线免费日韩片| 亚洲精品国产视频| 国产亚洲观看| 亚洲精品一区二区三区福利| 国产麻豆精品视频| 欧美激情一区二区三区蜜桃视频 | 午夜精彩国产免费不卡不顿大片| 午夜精品国产更新| 亚洲精品国精品久久99热| 亚洲视频一区二区| 亚洲电影免费在线观看| 99国产精品99久久久久久粉嫩| 国产一级揄自揄精品视频| 亚洲二区在线| 国产一区二区三区的电影| 亚洲欧洲日产国码二区| 国产欧美日韩在线播放| 亚洲精品亚洲人成人网| 亚洲国产另类精品专区| 亚洲自拍电影| 中文国产亚洲喷潮| 老司机免费视频一区二区| 欧美在线视频a| 国产精品久久久久999| 亚洲国内在线| 激情五月***国产精品| 性欧美1819性猛交| 欧美成人午夜激情| 久久综合九色综合网站| 国产精品亚洲综合久久| 99视频有精品| 日韩一区二区福利| 久久亚洲综合色一区二区三区| 久久久91精品国产| 国产精品毛片| 在线综合欧美| 午夜久久黄色| 国产精品日本欧美一区二区三区| 99ri日韩精品视频| 一区二区三区久久| 欧美日本簧片| 亚洲精品中文字幕女同| 99re热精品| 欧美激情一区二区三区在线视频观看 | 久久www成人_看片免费不卡| 亚洲亚洲精品三区日韩精品在线视频| 一区二区三区国产在线观看| 久久夜色精品国产噜噜av| 欧美精品在欧美一区二区少妇| 另类亚洲自拍| 伊人精品久久久久7777| 久久精品亚洲精品| 久久久最新网址| 亚洲第一搞黄网站| 欧美大片在线观看| 亚洲免费观看高清完整版在线观看| 91久久精品久久国产性色也91| 久久这里只有精品视频首页| 男女av一区三区二区色多| 亚洲国产成人91精品| 欧美成人在线免费观看| 亚洲美女视频在线观看| 亚洲一本大道在线| 国产精品人人做人人爽人人添| 亚洲一区二区在线| 六月婷婷久久| 亚洲精选一区| 亚洲成人在线免费| 亚洲综合成人婷婷小说| 欧美日韩免费观看一区| 亚洲视频碰碰| 久久综合图片| 亚洲精品视频免费观看| 欧美午夜不卡在线观看免费 | 亚洲人妖在线| 午夜视频久久久| 国产欧美激情| 美女视频黄免费的久久| 99视频精品免费观看| 午夜欧美大尺度福利影院在线看| 国内精品嫩模av私拍在线观看 | 久久精品国产99精品国产亚洲性色 | 久久美女艺术照精彩视频福利播放| 国产视频一区三区| 老牛嫩草一区二区三区日本| 日韩午夜av| 牛人盗摄一区二区三区视频| 99综合视频| 尤物网精品视频| 国产精品久久久久毛片大屁完整版| 欧美自拍偷拍午夜视频| 日韩小视频在线观看| 狂野欧美一区| 午夜影院日韩| 日韩天堂在线观看| 国产日产亚洲精品| 欧美日韩精品一区视频| 久久精品人人做人人综合| aa级大片欧美三级| 欧美国产日韩一区二区| 伊人精品在线| 欧美成熟视频| 亚洲女同同性videoxma| 亚洲国产天堂久久综合| 国产美女一区| 欧美日韩精品一区二区在线播放 | 久久天堂国产精品| 午夜精品影院| 中文精品一区二区三区|