命名空间的嵌套
有个默认的全局命名空间,我们创建的命名空间默认都嵌套在它里面
继承
继承,可以让子类拥有父类的所有成员(变量\函数)
- 关系描述
- Student是子类(subclass,派生类)
- Person是父类(superclass,超类)
- C++中没有像Java、Objective-C的基类
- Java:java.lang.Object
- Objective-C:NSObject
#include <iostream>
using namespace std;
//struct Person {
// int m_age;
// void run() {
// cout << "run()" << endl;
// }
//};
//
//struct Student : Person {
// int m_score;
// void study() {
// cout << "study()" << endl;
// }
//};
//
//struct Worker : Person {
// int m_salary;
// void work() {
// cout << "work()" << endl;
// }
//};
// Java:所有的Java对象最终都继承自java.lang.Object这个类
// OC:所有的OC对象最终都继承自NSObject这个类
void test() {
/*Student student;
student.m_age = 18;
student.m_score = 100;
student.run();
student.study();*/
}
struct Person {
int m_age;
};
struct Student : Person {
int m_no;
};
struct GoodStudent : Student {
int m_money;
};
int main() {
// 12
GoodStudent gs;
gs.m_age = 20;
gs.m_no = 1