public,protected,private哪个权限小继承哪个,public(调用)》proteceted(继承)》private(封装)这样?
2017-12-31
明显是故意的
还好老师讲得好,我们怀疑是好意的犯错
但要是讲得不好呢,就要有人喷了
去讲的不好的课程里面看,没有说老师这是为我们好,让我们注意细节
神奇的慕课网
还好老师讲得好,我们怀疑是好意的犯错
但要是讲得不好呢,就要有人喷了
去讲的不好的课程里面看,没有说老师这是为我们好,让我们注意细节
神奇的慕课网
2017-11-19
容器,月饼盒,月饼
月饼盒is a容器 class 月饼盒:public 容器
月饼盒has a月饼 class 月饼盒:private 月饼
封装本意为对外开门,public大门敞开,protected虚掩,private紧闭
不同的继承方式可以改变门的开放程度,但门不能越开越大
但private的东西是无论如何都无法继承的
月饼盒is a容器 class 月饼盒:public 容器
月饼盒has a月饼 class 月饼盒:private 月饼
封装本意为对外开门,public大门敞开,protected虚掩,private紧闭
不同的继承方式可以改变门的开放程度,但门不能越开越大
但private的东西是无论如何都无法继承的
2017-11-19
一个类本身private,protected的内容只能内部访问,public的内容可以在外部访问
当另一个类继承它时(:public),相当于把父类中的public,protected中的内容复制过来
此时单独来看它时,protected的内容只能内部访问(可以访问父类中的protected),外部不能访问
而父类private中的内容都没有复制过来,当然不能用了
当另一个类继承它时(:public),相当于把父类中的public,protected中的内容复制过来
此时单独来看它时,protected的内容只能内部访问(可以访问父类中的protected),外部不能访问
而父类private中的内容都没有复制过来,当然不能用了
2017-11-19
int main(void)
{
// 创建Soldier对象
Soldier soldier;
// 给对象属性赋值
soldier.m_strName = "Jim";
soldier.m_strCode = "592";
// 打印对象属性值
cout << soldier.m_strName << endl;
cout << soldier.m_strCode << endl;
// 调用对象方法
soldier.attack();
soldier.eat();
system("pause");
return 0;
}
{
// 创建Soldier对象
Soldier soldier;
// 给对象属性赋值
soldier.m_strName = "Jim";
soldier.m_strCode = "592";
// 打印对象属性值
cout << soldier.m_strName << endl;
cout << soldier.m_strCode << endl;
// 调用对象方法
soldier.attack();
soldier.eat();
system("pause");
return 0;
}
cout << soldier.m_strName << endl;
cout << soldier.m_strCode << endl; 实例化对象的时候 要为题中已经给出的soldier
cout << soldier.m_strCode << endl; 实例化对象的时候 要为题中已经给出的soldier