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

[C++][windows]C++类成员函数默认参数和成员变量初始化问题

测试环境:

vs2019

先上代码:

TestManager.h

代码语言:javascript

代码运行次数:0

运行

AI代码解释

#pragma once
#include<iostream>class TestManager
{
public:int a = 0;float b = 1;double c = 2;char* d = (char*)"123";int Add(int a , int b);
};struct ModeType
{int RTX30 = 1;int GTX660 = 2;
};

TestManager.cpp

代码语言:javascript

代码运行次数:0

运行

AI代码解释

#include "TestManager.h"int TestManager::Add(int a, int b)
{return a + b;
}

main.cpp

代码语言:javascript

代码运行次数:0

运行

AI代码解释

#include "TestManager.h"
int main()
{TestManager tm;std::cout << tm.b << "\n";int c = tm.Add(2);std::cout << c << "\n";getchar();
}

上面可以看到整个代码可以正常运行。总结如下:

(1)类的成员变量在定义时候可以初始化,当然静态成员变量不行。

(2)类的成员函数默认参数需要在头文件声明里面指定,在定义函数时候不能指定。如果同时在声明和定义里面指定的话会报错,重定义参数。如果只在定义时候指定,但是声明时候不指定,编译不会报错,但是传递参数一个会报错,因此还是必须要在声明时候指定。即

(1)声明指定,定义不指定,这个是正常的

(2)声明指定,定义也指定,报错重定义参数

(3)声明不指定,定义指定,编译不报错,但是无法使用默认参数

(4)声明不指定,定义不指定,这就是我们说的无默认的参数函数,正常

http://www.dtcms.com/a/537029.html

相关文章:

  • Vue 动态路由复制标签页失效?彻底解决新标签页路由空白问题
  • 扁平化网站特效张家港网站建设培训班
  • 【GaussDB】深入剖析Insert Select慢的定位全过程
  • 面向智能体与大语言模型的 AI 基础设施:选项、工具与优化
  • 招商网站建设服务商湖南专业网站建设服务
  • 从0到1:易趋驱动产品研发项目全流程管理效能跃升
  • 巴彦淖尔市百家姓网站建设文昌市规划建设管理局网站
  • JAX 高性能机器学习的新选择 - 从NumPy到变换编译
  • 能盈利的网站网站首页description标签
  • Geoserver修行记-安装CSS插件避坑
  • O(1) 时间获取最小值的巧妙设计——力扣155.最小栈
  • 韩国网站建设wordpress安装博客步骤
  • dbpystream webapi: 一次clickhouse数据从系统盘迁至数据盘的尝试
  • 大数据-136 - ClickHouse 集群 表引擎详解 选型实战:TinyLog/Log/StripeLog/Memory/Merge
  • 高效的项目构建和优化之前端构建工具
  • 网站建设公司宣传文案如何通过cpa网站做推广
  • windows环境,设置git 默认提交信息
  • 电商平台网站建设合同宁波seo优化报价多少
  • 哪里找人做网站系统设计
  • 做一个网站需要多少钱大概费用商贸有限公司注销流程
  • OpenVLA-OFT+ 在真实世界 ALOHA 机器人任务中的应用
  • 网站调用字体四网合一网站建设
  • 网站优化包括整站优化吗公司管理体系
  • Spring—Springboot篇
  • 《拆解一封网络信:HTTP 报文详解》
  • wordpress仿站网桌子seo关键词
  • 如何判断服务器是否遭受攻击?
  • DGX A100服务器常见故障解析与维修攻略
  • 各品牌服务器IPMI配置实战经验分享
  • 海口自助建站知乎的网站建设和网站运营