为了账号安全,请及时绑定邮箱和手机立即绑定

实例化worker对象时,无法访问private成员是什么鬼 我都定义为public型的数据成员了

Person类

#ifndef PERSON_H

#define PERSON_H


#include<iostream>

using namespace std;


class Person

{

public:

Person(string name)

{

m_strName = name;

cout << "Person()" << endl;

}

virtual ~Person()

{

cout << "~Person()" << endl;

}

virtual void work() = 0;

public:

string m_strName;

};


#endif

Worker类:

#ifndef WORKER_H

#define WORKER_H 


#include"Person.h"


class Worker : public Person

{

Worker(string name,int age):Person(name)

{

//m_strName = name;

m_iAge = age;

cout << "Worker()" << endl;

}

virtual void work()

{

cout <<"work()" << endl;

}


public:

int m_iAge;

};


#endif



主函数:

#include<iostream>

//#include"Person.h"

#include"Worker.h"

using namespace std;


int main(void)

{

Worker Workr("lily",67);

system("pause");

return 0 ;

}


正在回答

5 回答

Worker的构造函数写在private里了

0 回复 有任何疑惑可以回复我~
#1

慕村3311326 提问者

啊啊啊 原来是这样 十分感谢!
2016-12-01 回复 有任何疑惑可以回复我~

没写访问限定就默认是private

0 回复 有任何疑惑可以回复我~

是 worker 类中  构造函数 没有定义成 public ????赫赫,,

0 回复 有任何疑惑可以回复我~

呃呃呃 说错饿了

0 回复 有任何疑惑可以回复我~

eee    Worker 类   中有 纯 虚函数  这时   worker 是抽象类     不能   实例化

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之多态篇
  • 参与学习       66236    人
  • 解答问题       314    个

本教程将带领大家体会面向对象三大特性中的多态特性

进入课程

实例化worker对象时,无法访问private成员是什么鬼 我都定义为public型的数据成员了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信