《C++语言基础》程序阅读——和对象找感觉
生活随笔
收集整理的這篇文章主要介紹了
《C++语言基础》程序阅读——和对象找感觉
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
返回:賀老師課程教學(xué)鏈接
按照封裝與信息隱藏的原則,除非特別需要,類(lèi)中的數(shù)據(jù)成員需要設(shè)置為私有。由此帶來(lái)的問(wèn)題是,在類(lèi)外如何訪問(wèn)這些私有成員?下面4段程序概括了常用的方法。請(qǐng)仔細(xì)閱讀下面的程序,在閱讀過(guò)程中,畫(huà)出對(duì)象、變量在內(nèi)存中的表示圖,寫(xiě)出這些程序的運(yùn)行結(jié)果(包括變量的變化過(guò)程及程序的最終輸出),達(dá)到徹底理解這些機(jī)制的目標(biāo)。
(1)通過(guò)公共函數(shù)為私有成員賦值
class Test { private:int x, y; public:void setX(int a){x=a;}void setY(int b){y=b;}void printXY(void){cout<<"x="<<x<<'\t'<<"y="<<y<<endl;} } ; int main() {Test p1;p1.setX(3);p1.setY(5);p1.printXY( );return 0; }
(2)利用指針訪問(wèn)私有數(shù)據(jù)成員
class Test { private:int x,y; public:void setX(int a){x=a;}void setY(int b){y=b;}void getXY(int *px, int *py){*px=x; //提取x,y值*py=y;} }; int main() {Test p1;p1.setX(3);p1.setY(5);int a,b;p1.getXY(&a,&b); //將 a=x, b=ycout<<a<<'\t'<<b<<endl;return 0; }
(3)利用函數(shù)訪問(wèn)私有數(shù)據(jù)成員
class Test { private:int x,y; public:void setX(int a){x=a;}void setY(int b){y=b;}int getX(void){return x; //返回x值}int getY(void){return y; //返回y值} }; int main() {Test p1;p1.setX(3);p1.setY(5);int a,b;a=p1.getX( );b=p1.getY();cout<<a<<'\t'<<b<<endl;return 0; }
(4)利用引用訪問(wèn)私有數(shù)據(jù)成員
#include <iostream> using namespace std; class Test { private:int x,y; public:void setX(int a){x=a;}void setY(int b){y=b;}void getXY(int &px, int &py) //引用{px=x; //提取x,y值py=y;} }; int main() {Test p1,p2;p1.setX(3);p1.setY(5);int a,b;p1.getXY(a, b); //將 a=x, b=ycout<<a<<'\t'<<b<<endl;return 0; }
總結(jié)
以上是生活随笔為你收集整理的《C++语言基础》程序阅读——和对象找感觉的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电子地图开发中栅格模型与矢量模型的区别
- 下一篇: SAP中国首个基于SAP HANA的Bu