c语言中字符串数组初始化的一点总结&& c++访问控制的三种方式

时间:2022-05-22 12:12:50
    char *c[]={"ONE","TWO","THREE","FOUR"};
// c语言中定义了一个字符串数组(也称二维字符数组),此时的c是一个二级指针
cout << c[] << endl; // 输出为 ONE
char **cp[] = {c + ,c + , c + , c};
// 定义一个指针型的 指针数组, 存放 那几个字符串的首地址
char ***cpp = cp; // cp数组的首地址
printf("%s\n",**++cpp); // c+2 --> THREE

不同继承方式的影响主要体现在:

1、派生类成员对基类成员的访问控制。

2、派生类对象对基类成员的访问控制。

三种继承方式:

1、公有继承(public)

① 基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。

② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。

③ 通过派生类的对象只能访问基类的public成员。

2、私有继承(private)

① 基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可访问。

② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。

③ 通过派生类的对象不能访问基类中的任何成员。

3、保护继承(protected)

① 基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可访问。

② 派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。

③ 通过派生类的对象不能访问基类中的任何成员。

protected成员的特点与作用:

对建立其所在类对象的模块来说(水平访问时),它与private成员性质相同。对于其派上类来说(垂直访问时),它与public成员的性质相同。既实现了数据隐藏,又方便继承,实现了代码重用。