关于基类对派生类的访问

Flyalay Flyalay 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <iostream>
using namespace std;

class base
{
public:
base(const int&m,const int &n):x(m),y(n){}
base(const base& t){
x=t.x;
y=t.y;
z=t.z;
}
virtual void display(){
cout << x << ' ' << y << ' ' << z << endl;
}
virtual ~base(){};
protected:
int x;
int y;
private:
int z;
};

class derived:public base
{
public:
derived(const int&m,const int&n,const int&p):base(m,n),z(p){}
void display(){
cout << x << ' ' << y << ' ' << z << endl;
}
int z;


};


int main()
{
derived tb(5,7,8);
base ta(tb);
ta.display();
tb.display();
cout << tb.z;
system("pause");
}

为什么在派生类转换为基类中,基类的成员函数能对派生类的protected的成员访问.
却不能对public中的z成员访问(z无法初始化).
...全文

相关推荐

C++基类指针和派生类指针之间的转换方法讲解

今天小编就为大家分享一篇关于C++基类指针和派生类指针之间的转换方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

weixin_38685832

继承后基类、派生类的访问属性

一、单继承与多继承(1)一个派生类只从一个基类派生,这称为单继承(single inheritance);(2)一个派生类有两个或多个基类的称为多重继承(multiple inheritance);(注意:区分多重继承和多级派生的概念)二、声明派生类的方式(1)声明派生类的一般形式为: class 派生类名:[继承方式] 基类名 { 派生类新增加的成员

jonson_zc

C++ 继承 基类、派生类、访问权限

9.1 基类与派生类 被继承的类称为父类或基类,继承的类称为子类或派生类。 “子类”和“父类”通常放在一起称呼,“基类”和“派生类”通常放在一起称呼。 派生类除了拥有基类的成员,还可以定义自己的新成员,以增强类的功能。 使用继承的场景: 创建的新类只是比原有类多出若干成员变量或成员函数时,可以使用继承,这样会减少代码量,新类也会拥有基类的所有功能。 需要创建多个类,这类有相似的成员变量或成...

自由如风呼呼呼

解析C++中派生的概念以及派生类成员的访问属性

主要介绍了解析C++中派生的概念以及派生类成员的访问属性,是C++入门学习中的基础知识,需要的朋友可以参考下

weixin_38612648

深入分析C++派生类中的保护成员继承

主要介绍了C++派生类中的保护成员继承,深入对C++面向对象编程的继承机制进行了解析,需要的朋友可以参考下

weixin_38621441
评论 11
收藏 已收藏
分享
返回顶部
Flyalay
C++ 语言 65,214 成员 250,514 内容