如何从父类访问私有变量

  • 本文关键字:变量 访问 父类 c++
  • 更新时间 :
  • 英文 :


我必须为go((函数执行多态性操作,但我不知道如何访问私有变量distance。编译器不断显示

"在传输::距离"在此上下文中是私有的5|距离=100;

这是我的代码

运输.h

#ifndef TRANSPORT_H
#define TRANSPORT_H
#include <iostream>
using namespace std;
class Transport{
private:
int distance;
public:
int get_dist_travelled();
virtual void go();
};
#endif

传输.cpp

#include "Transport.h"
int Transport::get_dist_travelled(){
return distance;
}

Horse.h

#ifndef HORSE_H
#define HORSE_H
#include <iostream>
#include "Transport.h"
using namespace std;
class Horse:public Transport{
public:
void go();
};
#endif

Horse.cpp

#include "Horse.h"
#include "Transport.h"
void Horse::go() {
distance = 100;
}

main.cpp

#include <iostream>
#include "Transport.h"
#include  "Horse.h"
using namespace std;
int main(){
Horse kid;
kid.go();
cout<<kid.get_dist_travelled()<<endl;
}

一方面,您可以使变量受到保护,或者将类定义为友元类。

最新更新