面向对象:指针函数

2019-07-17  本文已影响0人  始于尘埃
#include <iostream>
#include <string>
using namespace std;
class Car{
    public:
        string name;
        int cost;
        //初始化列表
        Car(string Name,int Cost):name(Name),cost(Cost){}
        //析构函数
        ~Car(){cout<<"See you again\n";}
        void Voice();
};
void Car::Voice(){
    cout<<name<<cost;
}

int main(){
    Car car1("rcie",999);
    //定义指向对象成员的指针函数
    void (Car::*p)();
    p=&Car::Voice; //是公共内的函数(成员函数不是存放在对象空间的,而是存放在对象空间外的)
    //输出
    car1.Voice();
    cout<<"\n";
    (car1.*p)();//必须是整体的括号

    
    return 0;
}

上一篇 下一篇

猜你喜欢

热点阅读