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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C++ 虛函數(shù)使用以及繼承的問題 ?

C++ 虛函數(shù)使用以及繼承的問題 ?

精慕HU 2019-01-29 07:03:26
C++ 虛函數(shù)使用以及繼承的問題 
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

#include <iostream>
#define PI 3.14
using namespace std;
class container
{
public:
container(int radius=0){
this->radius = radius;/*賦值給類的成員變量*/
}
virtual void Square()=0;
virtual void Volume()=0;
int GetRadius(){return radius;} /*給私有成員變量提供一個(gè)訪問的函數(shù)*/
/*要想修改就提供一個(gè)void SetRadius(int radius)的函數(shù)*/
private:
int radius;
};
class cube:public container
{
public:
cube(int radius1):container(radius1){}
virtual void Square()
{
/*基類的私有成員在這里無法之間反問,可通過基類的成員函數(shù)訪問,下面凡事訪問radius都通過
GetRadius()來訪問*/
square1=4*PI*GetRadius()*GetRadius();
cout<<"the cube's square is:"<<square1<<endl;
}
virtual void Volume()
{
volume1=(4.0/3)*PI*GetRadius()*GetRadius()*GetRadius();/*4/3等于1了,要寫成4.0/3才對(duì) */
cout<<"the cube's volume is:"<<volume1<<endl; /*這里應(yīng)該是volume1*/
}
private:
double square1,volume1;
};
class sphere:public container
{
public:
sphere(int radius1):container(radius1){}
virtual void Square()
{
square2=6*GetRadius()*GetRadius();
cout<<"the sphere's square is:"<<square2<<endl;
}
virtual void Volume()
{
volume2=GetRadius()*GetRadius()*GetRadius();
cout<<"the sphere's volume is:"<<volume2<<endl;
}
private:
double square2,volume2;
};
class cylinder:public container
{
public:
cylinder(int radius1):container(radius1){}
virtual void Square()
{
cout<<"please input the cylinder's height=";
cin>>height;
square3=2*PI*GetRadius()*GetRadius()+2*PI*GetRadius()*height;
cout<<"the cylinder's square is:"<<square3<<endl;
}
virtual void Volume()
{
volume3=PI*GetRadius()*GetRadius()*height;
cout<<"the cylinder's volume is:"<<volume3<<endl;
}
private:
double square3,volume3;
int height;
};
int main()
{
//container container1;
int a;
cout<<"Please input a radius=";
cin>>a;
cube cube1(a);
sphere sphere1(a);
cylinder cylinder1(a);
cube1.Volume();
cube1.Square();
sphere1.Volume();
sphere1.Square();
cylinder1.Square();
cylinder1.Volume();
return 0;
}



查看完整回答
反對(duì) 回復(fù) 2019-03-14
?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

#include <iostream>
#define PI 3.14
using namespace std;
class container
{
public:
container(int radius=0){}
virtual void Square()=0;
virtual void Volume()=0;
//private: //因?yàn)檫@個(gè)是私有的,不能被繼承類訪問,為了簡(jiǎn)單,我將它改成了public
int radius;
};
class cube:public container
{
public:
cube(int radius1):container(radius1){} //這里int必須去掉
virtual void Square()
{
square1=4*PI*radius*radius; //////////////////基類的成員是radius,沒有1,你寫成了radius1
cout<<"the cube's square is:"<<square1<<endl;
}
virtual void Volume()
{
volume1=4/3*PI*radius*radius*radius; //////////////////基類的成員是radius,沒有1,你寫成了radius1
cout<<"the cube's volume is:"<<square1<<endl;
}
private:
double square1,volume1;
};
class sphere:public container
{
public:
sphere(int radius1):container(radius1){} //這里int必須去掉
virtual void Square()
{
square2=6*radius*radius; //////////////////基類的成員是radius,沒有1,你寫成了radius1
cout<<"the sphere's square is:"<<square2<<endl;
}
virtual void Volume()
{
volume2=radius*radius*radius; //////////////////基類的成員是radius,沒有1,你寫成了radius1
cout<<"the sphere's volume is:"<<volume2<<endl;
}
private:
double square2,volume2;
};
class cylinder:public container
{
public:
cylinder(int radius1):container(radius1){} //這里int必須去掉
virtual void Square()
{
cout<<"please input the cylinder's height=";
cin>>height;
square3=2*PI*radius*radius+2*PI*radius*height; //////////////////基類的成員是radius,沒有1,你寫成了radius1
cout<<"the cylinder's square is:"<<square3<<endl;
}
virtual void Volume()
{
volume3=PI*radius*radius*height; //////////////////基類的成員是radius,沒有1,你寫成了radius1
cout<<"the cylinder's volume is:"<<volume3<<endl;
}
private:
double square3,volume3;
int height;
};
int main()
{
//container container1;
int a;
cout<<"Please input a radius=";
cin>>a;
cube cube1(a);
sphere sphere1(a);
cylinder cylinder1(a);
cube1.Volume();
cube1.Square();
sphere1.Volume();
sphere1.Square();
cylinder1.Square();
cylinder1.Volume();
return 0;
}



查看完整回答
反對(duì) 回復(fù) 2019-03-14
  • 2 回答
  • 0 關(guān)注
  • 862 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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