公有继承,私有继承,保护继承

从ResNet到EfficientNet:特征金字塔网络(FPN)在不同骨干网中的适配指南 本文深入探讨了特征金字塔网络(FPN)与ResNet、VGG、EfficientNet等主流骨干网络的适配策略。文章详细解析了FPN的核心原理,并针对不同骨干网络的特征提取特性,提供了通道对齐、参数量估算及迁移学习的系统化指南,旨在帮助开发者在目标检测等视觉任务中构建高性能、高效率的模型。 阅读详情

一.公有继承

1.在声明一个派生类时将基类的继承方式指定为public,称为公有继承。
2.用公有继承方式建立的派生类称为公有派生类,其基类称为公有基类
在这里插入图片描述
例,公有继承的测试

#include<iostream>
using namespace std ;
class A
{
public :
    void get_XY( )
    {
        cout << "Enter two numbers of x, y : " ;
        cin >> x >> y ;
    }
    void put_XY( )
    {
        cout << "x = "<< x << ", y = " << y << '\n' ;
    }
protected:
    int x, y ;
};
class B : public A
{
public :
    int get_S( )
    {
        return s ;
    };
    void make_S( )
    {
        s = x * y ;
    }; // 使用基类数据成员x,y
protected:
    int s;
};
class C : public B
{
public :
    void get_H( )
    {
        cout << "Enter a number of h : " ;
        cin >> h ;
    }
    int get_V( )
    {
        return v ;
    }
    void make_V( )
    {
        make_S( );    // 使用基类成员函数
        v = get_S( ) * h ;
    }
protected:
    int h, v;
};
int main( )
{ A objA ;
B objB ;
C objC ;
cout << "It is object_A :\n" ;
objA.get_XY( ) ;
objA.put_XY( ) ;
cout << "It is object_B :\n" ;
objB.get_XY( ) ;
objB.make_S( ) ;
cout << "S = " << objB.get_S( ) << endl ;
cout << "It is object_C :\n" ;
objC.get_XY( ) ;
objC.get_H( );
objC.make_V( ) ;
cout << "V = " << objC.get_V( ) << endl ;
return 0; }

二.私有继承

1.在声明一个派生类时将基类的继承方式指定为private,称为私有继承。
2.用私有继承方式建立的派生类称为私有派生类,其基类称为私有基类
在这里插入图片描述
例.私有继承的测试

#include<iostream>
using namespace std ;
class A
{
public :
    void get_XY( )
    {
        cout << "Enter two numbers of x and y : " ;
        cin >> x >> y ;
    }
    void put_XY( )
    {
        cout << "x = "<< x << ", y = " << y << '\n' ;
    }
protected:
    int x, y ;
};
class B : private A
{
public :
    int get_S( )
    {
        return s ;
    }
    void make_S( )
    {
        get_XY( );
        s = x * y ;
    }
private:
    int s ;
};
int main( )
{
    B objB ;
    cout << "It is object_B :\n" ;
    objB.make_S( ) ;
    cout << "S = " << objB.get_S( ) << endl ;

    return 0;
}

三.保护继承

1.在定义一个派生类时将基类的继承方式指定为protected,称为保护继承。
2.用保护继承方式建立的派生类称为保护派生类,其基类称为受保护的基类简称保护基类。
3.从类的用户角度来看,保护成员等价于私有成员。但有一点与私有成员不同,保护成员可以被派生类的成员函数访问
4.在这里插入图片描述

#include <iostream>
using namespace std;
class Base //声明基类
{
public: //基类公有成员
    void setx(int n)
    {
        x=n;
    }
    void showx()
    {
        cout<<"x="<<x<<endl;
    }
protected: //基类保护成员
    int getx()
    {
        return x;
    }
private: //基类私有成员
    int x;
};
class Derived: protected Base
{
public:
    void sety(int n)
    {
        y=n;
    }
    int gety()
    {
        return y;
    }
    void showy()
    {
        cout<<"y="<<y<<endl;
    }
    void set(int m,int n)
    {
        setx(m); //在Derived中x不可访问
        y=n;
    }
    void show()
    {
        cout<<"x="<<getx() <<endl;
        cout<<"y="<<y<<endl;
    }
private:
    int y;
};
int main()
{
    Derived obj;

    obj.sety(20);
    obj.showy();
    obj.set(30,40);
    obj.show();
    return 0;
}

医学影像处理实战:如何用Python+SimpleITK搞定DICOM/NIfTI重采样(附完整代码) 本文详细介绍了如何使用Python和SimpleITK库实现医学影像(DICOM/NIfTI格式)的智能重采样技术。通过实战代码演示,帮助读者掌握医学图像处理中的关键步骤,包括环境搭建、数据准备、核心算法实现和质量验证,解决医学AI领域中的影像标准化难题。 阅读详情

相关推荐

C/C++ 公有继承保护继承私有继承的对比详解

C/C++ 公有继承保护继承私有继承的区别    在c++的继承控制中,有三种不同的控制权限,分别是public、protected和private。定义派生类时,若不显示加上这三个关键字,就会使用默认的方式,用struct定义的类是默认public继承,class定义的类是默认private继承。这和Java有很大的不同,Java默认使用public继承,而且只有公有继承。         1.使用public继承时,派生类内部可以访问基类中public和protected成员,但是类外只能通过派生类的对象访问基类的public成员。         (1)基类的public成员在派生类

【C++基础】公有继承保护继承私有继承

C++公有继承保护继承私有继承

学习笔记 4889

基于HTML、JavaScript、CSS的wuliangxiao同学录与毕业照设计源码

该项目是一个基于HTML、JavaScript和CSS的同学录与毕业照设计源码,包含81个文件,涵盖32个JPG图片、14个HTML页面、12个Mtn文件、9个JavaScript文件、4个PNG图片、2个CSS样式表、2个GIF图片、2个映射文件、1个SVG文件、1个Moc文件。该项目旨在创建一个互动的同学录和毕业照展示平台,适用于学校或个人纪念活动。

C++学习8:C++继承公有保护私有继承

C++继承公有保护私有继承

4331

三种继承的方法:public 继承/private继承/protected继承详解及区别

(1)子类对父类成员的访问权限跟如何继承没有任何关系,“子类可以访问父类的public和protected成员,不可以访问父类的private成员”——这句话对任何一种继承都是成立的。 (2)继承修饰符影响着谁可以知道“继承”这件事。public继承大家都知道,有点像“法定继承人”,因此,任何代码都可以把子类的引用(或指针)直接转换为父类。也因为这个原因,public继承常用来表达设计中所谓的“

System Architect 2万+

【转载】C++ 公有 私有 保护继承

C++ 基础之公有私有保护 公有继承私有继承保护继承,什么七七八八的,一句话说清楚。 数据成员和成员函数的公有私有保护 类的定义 我们知道,定义一个类,类里面的成员包括数据成员(属性)和成员函数(方法)。数据成员是描述类的属性的一些数据,成员函数是描述类...

qiuqiyuebai的博客 1667

C++:公有保护私有继承

使用保护继承或是私有继承时,如果想要基类的方法在派生类外可用有两种方法。第一种是定义一个使用该基类方法的派生类方法}//使用私有继承方法第二种则是将函数调用包装在另一个函数调用中,即使用using声明来指出派生类可以使用特定的基类成员,即使采用的是基类派生。...public:...上述using语句使得min(),max()函数以及重载运算符[ ]可用。使用using声明时只使用函数名(即不包括圆括号,特征标和返回类型)。

2401_86107325的博客 1144

公有继承/私有继承/保护继承的区别

1.公有继承–public 公有继承时,对基类的公有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包括继承公有成员),访问不了保护成员和私有成员。 2.保护继承–protected 保护继承中,基类的公有成员和保护成员被派生类继承后变成保护成员,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象不能访问派生类继承基类的公有成员,保护成员和私有成员,派生类的对象只能访问

qq_34266854的博客 7810

保护继承中基类的共有成员_C++继承公有私有保护

from:http://blog.csdn.net/crayondeng/article/details/144985391. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。2. 私有继承(private)私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能...

weixin_31437187的博客 2845

C++继承公有私有保护

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,...

1440

C++ 访问控制——公有继承私有继承保护继承

派生类继承了基类的全部数据成员和除了构造函数和析构函数之外的全部函数成员,但是这些成员的访问属性在派生的过程中是可以调整的。从基类继承的成员,其访问属性由继承方式控制。基类的成员有public(公有)、protected(保护)和private(私有)三种访问属性。基类的自身成员可以对基类中任何一个其他成员进行访问,但是通过基类的对象,只能访问该类的公有成员。类的继承方式有public(公有继承)、protected(保护继承)和private(私有继承)三种。

NuYoaH502329的博客 2329

公有继承保护继承私有继承

C++种public、protected、private总结1 public:类内、类的对象;派生类、派生类对象均可访问。 protected:类内、派生类内可以访问;类的对象、派生类的对象不可访问。 private:只有类内可以访问;类的对象、派生类内、派生类的对象不可访问。 C++继承公有继承保护继承私有继承2 公有继承 公有继承时,对基类的共有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包

charles666_zq的博客 2233

C++类继承——公有继承

1 C++中的继承 C++中的类的继承机制提供了较高层次的重用性。许多厂商提供了类库,类库由类声明和实现构成。类继承可以从已有的类中派生出新的类,派生类继承了基类的数据和方法。 我们可以在派生类中添加新的类数据或类方法,此时称为公有继承。如果在派生类中修改了基类类方法的行为,那么称为多态公有继承。 一般情况下,我们修改基类源码就可以实现派生类。C++的继承机制甚至不需要访问基类的源码就可以派生出...

asd1147170607的博客 7761

C++类的三种继承方式:公有保护私有及相互关系

在类的公有继承中,派生类通过公有继承的方式继承基类的数据成员及成员函数,属于基类的数据成员,在派生类可以被使用的有基类的公有的数据成员及成员函数,以及保护的数据成员及成员函数,当然我们可以通过重写的方式去实现对基类中show成员函数的访问。派生类通过私有继承的方式继承基类的成员函数及数据成员,在派生类中数据成员和成员函数均为私有(private),但我们可以通过派生类的公有成员函数访问基类的数据成员和成员函数。派生类可以通过保护继承的方式,继承和调用 基类的公有成员及公有的成员函数,保护的成员函数。

qingjiu1210的博客 1059

C++中的继承------公有保护私有

C++中有3种基本的继承----公有私有保护。 1、公有继承 我们大学里面都有公共课和专业课,那么我们可以把公共课作为父类,专业课作为子类,来举个例子。我们要打印多位同学的课程,如果每位同学的公共课都差不多,那我们就不用再重复打印每个人的公共课,而是直接继承公共课这个类,拿到他的各种成员(public下)用作自己的,然后在编写一下自己的课程,就ok了,代码如下: #include<iostream> using namespace std; //父类 class baseSubje

weixin_56745394的博客 3366

c++继承详解:共有(public)继承私有继承(private)继承保护(protected)继承

公有继承(public)继承私有继承(private)、保护继承(protected)是常用的三种继承方式。 1.公有继承(public)   公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2.私有继承(private)   私有继承的特点是基类的公有成员和保护成员都作为派生类的私...

794

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。

1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。 3. 保护继承(protected) 保护继承的特点是基类的

zhuimengrentt的专栏 549

【C++】继承 ⑤ ( public 公有继承 - 示例分析 | protected 保护继承 - 示例分析 | private 私有继承 - 示例分析 )

一、public 公有继承 - 示例分析 1、public 公有继承 2、代码示例 - public 公有继承 二、protected 保护继承 - 示例分析 1、protected 保护继承 2、代码示例 - protected 保护继承 三、private 私有继承 - 示例分析 1、private 私有继承 2、代码示例 - private 私有继承

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1万+

C++类继承

C++类继承 文章目录C++类继承1.is-a继承1.1公有继承1.2私有继承1.3保护继承2.has-a关系3.多态公有继承3.1特性:3.2虚函数实现原理4.纯虚函数和抽象基类5.多继承、多重继承和虚拟继承6.模板类 1.is-a继承 1.1公有继承 特性: //保持基类的访问权限不变,基类数据成员只能通过基类的方法访问 //派生类需要自己的构造函数,创建对象时,需要使用成员初始化列表,将基...

Afanda 8980

C++ 继承

在实际的编程实践中,“优先使用组合而非继承”是一个通常的设计原则。这种做法能够最小化类之间的耦合,提高代码的复用性和可维护性。当然,这并不是说继承是有害的,恰当的使用继承能够带来很多便利。但是我们需要清楚,在什么情况下使用继承,什么情况下使用组合,这对于我们来说是非常重要的。

qq_65112813的博客 966

一文搞清楚C++公有继承私有继承保护继承

C++继承方式的区别与选择 C++提供三种继承方式:公有继承(public)、私有继承(private)和保护继承(protected),核心区别在于基类成员在派生类中的访问权限: 公有继承:保留基类接口,基类public成员在派生类仍为public,protected仍为protected,实现"is-a"关系。 私有继承:基类public和protected成员在派生类变为private,隐藏基类接口,终止继承链,实现"has-a"关系。 保护继承:基类publi

小庞的博客 1216
上一篇: 继承与派生的基本知识
下一篇: 重命名成员
咘吖
博客等级 码龄7年 13粉丝 26原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值