c++学习笔记之指向对象的指针以及对象数组
生活随笔
收集整理的這篇文章主要介紹了
c++学习笔记之指向对象的指针以及对象数组
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用對象數(shù)組的方法對數(shù)據(jù)成員進(jìn)行初始化。?
#include<iostream> using namespace std; class box {public:box(int h=10,int w=12,int len=15):height(h),width(h),length(len){}int volume();private:int height;int width;int length;} ;int box::volume(){return (height*width*length);}int main(){box a[3]={box(10,12,15),box(15,18,20),box(16,20,26)};cout<<"the volume of a[0] is"<<a[0].volume()<<endl;cout<<"the volume of a[1] is"<<a[1].volume()<<endl;cout<<"the volume of a[2] is"<<a[2].volume()<<endl;}指向?qū)ο蟪蓡T的指針
復(fù)習(xí):定義指針的兩種方法
方法 1:定義時直接進(jìn)行初始化賦值。
方法 2:定義后再進(jìn)行賦值。
需要注意的幾點:
1 定義指向?qū)ο蟪蓡T函數(shù)的指針變量的方法和定義指向普通函數(shù)的指針變量方法有所不同
指向普通函數(shù)的指針變量的定義方法:
類型名(*指針變量名)(參數(shù)列表);
eg.? ?void(*p)();
p=fun;//將fun函數(shù)的入口地址賦給指針變量p
(*p)()//調(diào)用fun函數(shù)
可以使它指向一個函數(shù),并通過指針變量調(diào)用函數(shù)?
定義指向公用成員函數(shù)的指針變量的一般形式
數(shù)據(jù)類型名(類名::*指針變量名)(參數(shù)列表)
eg void(time::*p2)();
指向?qū)ο蟪蓡T函數(shù)的指針用法在代碼中有具體體現(xiàn)
#include<iostream> using namespace std; class time { public:time(int,int,int);int hour;int minute;int sec;void get_time(); }; time::time(int h,int m,int s)//結(jié)構(gòu)體成員的定義 {hour=h;minute=m;sec=s; } void time::get_time() {cout<<hour<<":"<<minute<<":"<<sec<<endl; } int main() {time t1(10,12,56);int *p1=&t1.hour;//指向數(shù)據(jù)成員t1.hour cout<<*p1<<endl;t1.get_time();time *p2=&t1;//使指針指向?qū)ο髏1 p2->get_time();//調(diào)用對象t1的輸出函數(shù) void(time::*p3)();//定義指向time公用成員函數(shù)的指針變量p3 p3=&time::get_time;//使p3指向time類公用成員函數(shù) (t1.*p3)();//調(diào)用p3所指的成員函數(shù) }?
總結(jié)
以上是生活随笔為你收集整理的c++学习笔记之指向对象的指针以及对象数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php做前端可以不用js吗,2019,还
- 下一篇: c++学习笔记之静态成员函数