明显是故意的
还好老师讲得好,我们怀疑是好意的犯错
但要是讲得不好呢,就要有人喷了
去讲的不好的课程里面看,没有说老师这是为我们好,让我们注意细节
神奇的慕课网
还好老师讲得好,我们怀疑是好意的犯错
但要是讲得不好呢,就要有人喷了
去讲的不好的课程里面看,没有说老师这是为我们好,让我们注意细节
神奇的慕课网
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
最赞回答 / 慕的地0332996
宏定义是解决重定义的问题,重定义就是如果在多个头文件中引用了同一个或多个头文件,编译器在编译的时候会多次编译头文件,加上宏定义使用#ifdef 来判断一下就可以避免这种情况
2017-11-14
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
最后一个实践我这边能通过。。步兵对象可以访问work()函数、play()函数以及在attack()函数中可以访问m_strName成员。。不应该啊!求指教~
2017-11-06