当前位置: 首页 > article >正文

C++不能在子类中构造函数的初始化成员列表中直接初始化基类成员变量

在C++中,派生类的构造函数可以调用基类的构造函数来初始化基类的成员变量。但是无法在派生类的构造函数的初始化列表中直接初始化基类的成员变量。
如果那样做,会报错:xx不是类xx的非静态成员或基类
例子

class StatusBase{
public:
	~StatusBase(){

	}
	StatusBase():m_name("StatusBase"){
	}
	StatusBase(char* name){
		m_name=name;
	}
protected:
	string m_name;
};
class StatusIdle :public StatusBase{
public:
	StatusIdle():m_name("Idle"){

	}
};

解决办法可以是调用父类的有参构造函数或者直接在构造函数里面对基类成员变量赋值

class StatusIdle :public StatusBase{
public:
	StatusIdle():StatusBase("Idle"){

	}
};

http://www.kler.cn/a/108083.html

相关文章:

  • python魔术方法的学习
  • qt QProcess详解
  • 什么是数字图像?
  • HarmonyOS Next星河版笔记--界面开发(4)
  • 《MYSQL45讲》kill不掉的线程
  • TensorRT基础知识
  • C++ 运算符
  • Linux touch命令:创建文件及修改文件时间
  • 底层驱动day8作业
  • 【C++】智能指针:auto_ptr、unique_ptr、share_ptr、weak_ptr(技术介绍 + 代码实现)(待更新)
  • Megatron-LM GPT 源码分析(三) Pipeline Parallel分析
  • AWS SAP-C02教程11-解决方案
  • C#,数值计算——分类与推理,基座向量机的 Svmgenkernel的计算方法与源程序
  • 中微爱芯74逻辑兼容替代TI/ON/NXP工规品质型号全
  • 【杂记】Ubuntu20.04装系统,安装CUDA等
  • python爬虫之feapder.AirSpider轻量爬虫案例:豆瓣
  • PHP简单实现预定义钩子和自定义钩子
  • Linux国产系统无法连接身份证读卡器USB权限解决办法
  • nrf52832 开发板入手笔记:J-Flash 蓝牙协议栈烧写
  • Nginx 的配置文件(负载均衡,反向代理)
  • Spring Security: 整体架构
  • uniapp-图片压缩(适配H5,APP)
  • 10月Java行情 回暖?
  • 【机器学习可解释性】4.SHAP 值
  • 第10期 | GPTSecurity周报
  • scratch接钻石 2023年9月中国电子学会图形化编程 少儿编程 scratch编程等级考试三级真题和答案解析