C++那些事--个人学习记录01

行为树基本概念与BehaviorTree.CPP库在C++的代码实现 文章介绍了行为树的基本概念以及介绍了MIT开源的行为树实现库——BehaviorTree.CPP的使用,包含部分C++的代码实现 阅读详情

1.C++类没有对其成员显示声明访问权限时,是不是默认为私有?

回答:

对于类:如果没有指定访问修饰符,默认情况下第一个成员之前的访问级别是private。这意味着如果你没有为类的第一个成员明确指定访问级别,它将被视为private,并且这个默认访问级别会应用到所有后续成员,直到遇到另一个访问修饰符为止。
对于结构体:与类不同的是,结构体在C++中的默认访问级别是public。也就是说,如果你在一个结构体内定义成员而没有指定访问修饰符,这些成员将默认为public。

2.静态对象的范围是贯穿程序的生命周期。

#include<iostream> 
using namespace std; 

class Apple 
{ 
    int i; 
    public: 
        Apple() 
        { 
            i = 0; 
            cout << "Inside Constructor\n"; 
        } 
        ~Apple() 
        { 
            cout << "Inside Destructor\n"; 
        } 
}; 

int main() 
{ 
    int x = 0; 
    if (x==0) 
    { 
        static Apple obj; 
    } 
    cout << "End of main\n"; 
}

输出:

Inside Constructor
End of main
Inside Destructor

即在main结束后调用析构函数

3.静态成员函数仅访问静态数据成员或其他静态成员函数,它们无法访问类的非静态数据成员或成员函数。

4.在C++中,不能在类定义内部对静态成员变量进行初始化(除非是 const static 整型常量 或 C++11 起支持的 constexpr)

正确的做法是:

在类内 声明 静态成员变量;
在类外 定义并初始化 它。
#include <iostream>
using namespace std;

class Apple 
{ 
public: 
    static int i;  // 声明静态成员变量,不能在这里初始化

    // 静态成员函数
    static void printMsg() 
    {
        cout << "Welcome to Apple!" << endl; 
        cout << "i = " << i << endl;
    }
};

// 在类外定义并初始化静态成员
int Apple::i = 123;

// main 函数
int main() 
{ 
    Apple app;
    app.printMsg();  // 可以通过对象调用(也可以用 Apple::printMsg())

    return 0;
}

或者

#include<iostream> 
using namespace std; 

class Apple 
{ 
    public: 
	static const int i = 123;
        // static member function 
        static void printMsg() 
        {
			
            cout<<"Welcome to Apple!"<<endl; 
			cout<<"i="<<i<<endl;
        }
}; 

// main function 
int main() 
{ 
    // invoking a static member function 
    Apple::printMsg(); 
	Apple app;
	app.printMsg();
	cout<<"i="<<app.i;
}

运行结果:

Welcome to Apple!
i=123
Welcome to Apple!
i=123
i=123

C++学习记录(01) 看看俺都学了啥。 阅读详情

相关推荐

高通410刷OpenWRT后网络共享配置全攻略

本文详细解析了在高通410设备刷入OpenWRT后,因基带文件丢失导致无法上网的常见问题。核心解决方案是通过SMB网络共享,将备份的原厂基带文件传输至OpenWRT系统并正确还原,从而恢复移动网络连接。文章提供了从备份基带、刷机到配置共享和文件替换的完整操作指南。

grafana6viz的博客 572

置顶> 个人学习记录一览

个人学习记录:Linux操作系统、Linux C语言、Linux Shell脚本、Linux C++、MySQL、Qt、通信协议IEC104、MQTT、Modbus

Tianwx的博客 1731

保姆级教程:用Python工具搞定MTK手机分区表(PGPT)备份与线刷引导文件生成

本文提供了一份详细的Python工具链教程,帮助用户备份MTK手机的PGPT分区表并生成线刷引导文件。内容涵盖环境配置、分区表解析、备份流程、线刷文件生成及常见问题排查,特别适合安卓玩机爱好者和开发者。通过本指南,读者可掌握MTK芯片设备的底层分区操作技术,实现安全高效的分区备份与恢复。

weixin_30394669的博客 189

C++ -01(7.10个人学习记录)

int是标识符,a是一个能被修改的变量a = 10;赋值操作输出aint a = 10;不定义会报错。之后重新定义常量会失败int a;int b;

2302_77152359的博客 1220

01. VBA从入门到精通——录制宏、窗口、快捷键

excel表功能区右击→常用→选择显示开发工具选项→确定Visual Basic:打开VBA窗口宏:查看要录制的宏录制宏:准备录制宏使用相对引用:录制宏的时候对单元格的引用做一个设置宏安全性:对宏的使用做安全设置,一般设置为禁用所有宏,并发出通知,此时打开带有宏代码的工作薄时会出现警告标记,如果宏可信就选择启动。

weixin_43812198的博客 1696

Mediapipe入门——搭建姿态检测模型并实时输出人体关节点3d坐标(2024.1.4更新)

Mediapipe入门,利用mediapipe搭建人体整体检测模型,并输出右手21个关节点的坐标;mp_holistic.Holistic函数理解,mp_holistic.Holistic.process函数理解;mp.solutions.drawing_utils.draw_landmarks函数理解;Mediapipe实时姿态估计,3d骨架铰接图,matplotlib和Mediapipe绘图

kalakalabala的博客 6万+

我的c++学习之旅 cpp-learning-journey day01

本文介绍了C++类的重要特性:1)构造函数(默认/拷贝)和析构函数的使用;2)友元机制的三种形式(函数/类/成员函数)及其单向性特点;3)运算符重载的方法,包括输入输出运算符和自增运算符的特殊处理;4)类类型转换的两种方式(构造函数转换和转换函数);5)静态成员的声明与初始化规则。文章通过代码示例展示了这些特性的具体实现方式,并强调了explicit关键字对隐式转换的限制作用。这些特性共同构成了C++面向对象编程的核心机制。

2301_80221160的博客 1770

无人机避障——Mid360+Fast-lio感知建图+Ego-planner运动规划(胎教级教程)

本工作将 Mid360 激光雷达、Fastlio-SLAM 和 Ego-Planner 集成,实现无人机的环境感知、定位建图和运动规划(仿真过程)—— 胎教级教程。

weixin_45390670的博客 1万+

C++学习记录01--C的拓展

namespace 名称 {//定义变量、函数...... }//a=100//a=200return 0;

qq_45814859的博客 1083

LLM大模型-vLLM本地部署全流程:Windows WSL2环境安装、HuggingFace与Modelscope模型加载与本地运行、Docker化部署与镜像分发

vLLM本地部署大模型方案 vLLM是一款高性能大模型推理引擎,通过PagedAttention技术显著提升吞吐量和内存效率,支持低成本、高并发的本地部署。 核心优势: 性能卓越:吞吐量远超同类方案,支持连续批处理等高级功能 成本优化:减少GPU服务器需求 兼容性强:提供类OpenAI的简洁API 部署步骤: 硬件准备:需NVIDIA GPU(如A100/3090),显存≥模型参数量×2(7B模型需14GB) 软件环境: Linux系统或Windows WSL2 安装CUDA 12.1+和Python 3.

2202_75674969的博客 4566

高温环境下(100℃以上)相机的几种保障方案

高温环境下相机保障措施摘要:针对120℃以上高温环境,相机需采取多重防护:1.散热设计采用金属机身、散热鳍片或风扇;2.关键部件选用耐高温材料(铝合金、特种玻璃);3.电子元件需军规级芯片并做三防处理;4.建议外接电源或耐高温电池。工业相机(如FLIR A655sc、Basler ace)及特种机型(Ximea xiQ)具备高温适应性,普通相机可加装隔热套件配合冷却系统。选择时需关注传感器信噪比和全局快门性能,并设置温度监控保护机制。注意高温会加速设备老化,需定期检测维护。(149字)

start_up_go的博客 1585

01-c++学习记录

指针是一个变量,值为另一个变量的地址,即内存位置的直接地址。在使用指针存储其他变量的内存地址使,必须先声明。

FourJin的博客 299

uniapp [安卓苹果App端] - errMsg“: “request:fail abort statusCode:-1 不支持的URL(-1002)Uniapp真机运行APP网络请求报错失败排查

uniapp真机运行APP,网络请求报错errMsg“: “request:fail abort statusCode:-1 不支持的URL(-1002),uni.request网路请求报错,uniApp解决请求接口报错,uniapp app端打包上线后请求报错,真机运行测试请求失败,uniapp安卓app请求报错,uniapp苹果ios平台网络请求报错,uniapp真机预览请求失败怎么办,不是跨域问题,在H5中请求可以正常发送和接收,但在真机APP上请求报错,Hbuilder真机运行app网络请求报错,全

🏆 前端领域优质创作者 3087

z3 C++学习笔记

因为项目需要使用z3库来解决问题,所以自己学习了一下,结果发现网上教程比较少,而且大部分都是使用Python,而我本人是C++的忠实信徒,在知道C++也可以使用z3库以后我毫不犹豫地着手用C++使用z3,但是我很快发现,网上基本没有关于C++使用z3的教程(中文社区一点都没有),因此我记录一下我自己的学习过程希望能够帮助到其他学习的人。 教程链接 网上现有的有三个教程: 官方example.cpp文档:https://github.com/Z3Prover/z3/blob/master/examples.

T_T233333333的博客 4651

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

log4cpp——使用01

log4cpp 文章目录log4cpp参考简单使用介绍介绍名词说明AppenderOstreamAppenderStringQueueAppenderFileAppender && RollingFileAppenderLayoutPatternLayoutCategory各种测试测试1:日志级别测试测试2:OstreamAppender测试测试3:StringQAppender测...

心灵迷宫 617

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

寻找连通域C++程序复现(个人C++学习记录)

本文是个人学习C++的学习记录 主要参考博文: 求01矩阵的连通域(c++版本)_wphkadn的博客-优快云博客_c++ 连通域 求矩阵的四连通域 思路: 1、从矩阵的第一个元素开始访问,当为1时,进入连通域分析 2、分析此元素位置上下左右的元素是否为1,若为1,将对应坐标添加到此元素的连通域下 3、继续循环遍历矩阵的下一个元素 #include <iostream> #include <vector> #include <queue> using

MOZHOUH的博客 1655

C++ STL源码个人学习与分析记录 ——Construct()与Destroy()

“源码之下,毫无秘密”,这是侯捷老师在其所著《STL源码分析 》中的一句话。考虑到此书年代久远,代码难免过时,便想着一边参考手中已有编译器的STL源代码实现,一边配合书中的介绍来学习STL标准,为此写下博客记录学习过程。

NORthernlll的博客 1758

01背包、完全背包、多重背包问题的C++实现及路径记录

这里主要实现路径记录,只求最值问题移步 01背包、完全背包、多重背包问题的C++实现 以下均打印输出路径,即装入背包的物品序号,和最大值。01背包问题#include <iostream> #include<algorithm>using namespace std;int main() { int total_weight = 10; int w[6] = { 0,5,4,3,

布衣书生的博客 4845

c++学习记录(中)

1.菱形继承带来的主要问题就是子类继承两份相同的数据,导致资源浪费以及毫无意义2.利用虚继承可以解决菱形继承问题。

2401_88409077的博客 1513

C++学习时间记录

C++学习时间记录 7.19~7.23 面向对象程序设计部分    7.19~7.20 基础部分    7.20~7.21 继承与派生    7.22~7.23 多态与虚函数 7.25~? 泛型程序设计    7.25~7.26 模板 未完待续… ...

Mount256的博客 288

OpenGL学习记录01

(开放图形库)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程(API)。OpenGL的高效实现(利用了图形加速硬件)存在于,部分平台和。这些实现一般由提供,而且非常依赖于该厂商提供的硬件。本文接下来将使用GLFW库进行代码的编写。

ackow的博客 687

C++学习记录 五、C++提高编程

再系统地过一次,夯实基础 学习目标: 过一遍黑马程序员C/C++学习视频 文章目录学习目标:学习内容:一、C++基础入门二、通讯录管理系统三、C++核心编程三、 C++核心编程(面向对象) 继承四、基于多态的企业职工系统五、C++提高编程六、基于STL泛化编程的演讲比赛七、C++实战项目机房预约管理系统学习产出: 学习内容: 一、C++基础入门 二、通讯录管理系统 三、C++核心编程 三、 C++核心编程(面向对象) 继承 四、基于多态的企业职工系统 五、C++提高编程 六、基于STL泛化编

qq_39274501的博客 2504

log4cpp库的使用

log4..简介log4..是基于log4j的一系列的c++移植版本,使用了log4j的模式结构,目前主要有以下几个版本: 1. log4cxx, 目前是到0.10.0版 2. log4cplus,目前最新版本是1.2.0 3. log4cpp,目前最新版本1.1.2

Fei_Liu的博客 5489

C++学习day--01 C生万物

C++学习day--01 C生万物

我的博客 985

CodeForces - Optimal Slots(01背包&记录路径)

题目链接:http://codeforces.com/gym/102219/problem/ETime limit per test 2.0 s Memory limit per test 256 MB Description The main hall of your residency is open for use by the local community and public. S...

ityanger的技术栈 2725

01背包问题的动态规划求解及其C++实现

本文讲解01背包问题的动态规划求解,并使用C++进行了实现 文章目录01背包问题动态规划01背包问题的动态规划求解01背包问题的动态规划求解-C++实现 01背包问题 有nnn个物品,这些物品的重量分别为w1,w2,...,wnw_1,w_2,...,w_nw1​,w2​,...,wn​,价值分别为v1,v2,...,vnv_1,v_2,...,v_nv1​,v2​,...,vn​. 现给定一个背包,背包的容量为CCC,要求从这个nnn个物品中选择一些物品装进背包,让背包尽可能装满,并使得背包里装的物品的价

Jeaten 3946
上一篇: git相关命令操作
下一篇: C++那些事--个人学习记录02(虚函数&纯虚函数%多态)
Code_KY
博客等级 码龄5年 43粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值