成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

類(lèi)類(lèi)型與其他類(lèi)型的轉(zhuǎn)換

類(lèi)型學(xué)轉(zhuǎn)換成其他類(lèi)型有兩種方式:

創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供江寧網(wǎng)站建設(shè)、江寧做網(wǎng)站、江寧網(wǎng)站設(shè)計(jì)、江寧網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、江寧企業(yè)網(wǎng)站模板建站服務(wù),10余年江寧做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

    一、用構(gòu)造函數(shù),將基本類(lèi)型轉(zhuǎn)為構(gòu)造類(lèi)型

        1.用初始化的形式;

            

class X

{

public:

X(int n);

~X();

};

void f(X arg);

...

int main(){

    X(3);

    X=a;//a隱式調(diào)用構(gòu)造函數(shù)X(int n);

    f(5);//把5調(diào)用構(gòu)造函數(shù)X(int n)轉(zhuǎn)為X arg.然后調(diào)用構(gòu)造函數(shù)。

    return 0;

}

    二、因?yàn)?strong>帶參數(shù)的構(gòu)造函數(shù)無(wú)法將類(lèi)類(lèi)型轉(zhuǎn)為基本類(lèi)型,所以設(shè)置類(lèi)型轉(zhuǎn)換函數(shù)

#include<iostream>

using namespace std;

class rational

{

public:

rational();

rational(int n,int d=1);

rational(double x);//將double類(lèi)型轉(zhuǎn)換成類(lèi)類(lèi)型。

operator double();//將類(lèi)類(lèi)型轉(zhuǎn)變?yōu)閐ouble類(lèi)型,且注意其沒(méi)有返回值。

friend rational& operator+(const rational&, const rational&);

friend ostream & operator <<( ostream& os, const rational&);

//注意這里輸出類(lèi)ostream前面不可以加const因?yàn)樵谳敵隽鹘?jīng)過(guò)os時(shí)會(huì)修改os

        //且類(lèi)型一定是引用類(lèi)型因?yàn)楸仨氂胏out對(duì)象本身

~rational();

private:

int numerator;

int denominator;

};

int gcd(int a, int b);

rational::rational()

{

numerator = 0;

denominator = 0;

}

rational::rational(int n,int d){

int g;

if (d == 1){

numerator = n;

denominator = d;

}

else{

g = gcd(n, d);//求分子分母的最大公約數(shù)

numerator = n / g;//把分母化成最簡(jiǎn);

denominator = d / g;

}

}

rational::rational(double x){

int a, b, g;

a = int(x*1e5);//x乘10的5次方。把小數(shù)變成整數(shù)

b = int(1e5);

g = gcd(a, b);

numerator = a / g;

denominator = b / g;

}

rational::~rational()

{

}

rational::operator double(){//雖然沒(méi)有返回值依然要返回double類(lèi)型的數(shù)。

return double(numerator) / double(denominator);

}

rational& operator +(const rational& a, const rational& b){

rational c;

int d = a.denominator*b.denominator;

int n = a.numerator*b.denominator + a.denominator*b.numerator;

int g = gcd(n, d);

c.denominator = d / g;//將分子分母化為最簡(jiǎn)

c.numerator = n / g;

return c;//返回類(lèi)型是引用還是類(lèi)類(lèi)型都可以。

}

ostream& operator <<(ostream& os, const rational& a){

os << a.numerator;

if (a.denominator != 1){

os << "/" << a.denominator;

}

return os;//這里返回os類(lèi)型的引用目的是連續(xù)使用cout<<"ss"<<"sss";

}

int gcd(int n, int d){//求最大公約數(shù)的算法

if (d == 0) return n;

else{

return gcd(d, n%d);

}

}

int main(){

rational a(2, 4);

rational b = 0.3;

rational c = a + b;

cout << double(a) << "+" << double(b)<<"="<<double(c)<<endl;

//將類(lèi)類(lèi)型對(duì)象a,b,c轉(zhuǎn)換成double類(lèi)型。

cout << a << "+" << b << "=" << c << endl;

double x = b;

c = x + 1 + 0.6;

cout << x << "+" << 1 << "+" << 0.6 << "=" << c << endl;

cout << rational(x) << "+" << rational(1) << "+" << rational(0.6) << "=" << c << endl;

system("pause");

}

本文標(biāo)題:類(lèi)類(lèi)型與其他類(lèi)型的轉(zhuǎn)換
瀏覽路徑:http://jinyejixie.com/article2/jojgic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、小程序開(kāi)發(fā)、網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、面包屑導(dǎo)航、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
福州市| 鄂州市| 万载县| 江门市| 洮南市| 通城县| 临澧县| 靖西县| 若尔盖县| 高碑店市| 霍邱县| 高邮市| 高邮市| 高碑店市| 定边县| 翁源县| 盐津县| 枞阳县| 集安市| 资源县| 万荣县| 汕尾市| 额尔古纳市| 文安县| 含山县| 贞丰县| 五台县| 温州市| 宝丰县| 江北区| 棋牌| 霍山县| 安溪县| 凤城市| 重庆市| 紫金县| 石首市| 上高县| 晋中市| 永胜县| 南乐县|