c++ - 您可以在类和构造函数中进行初始化吗?对吗?
问题描述
考虑下面的代码:
#include <iostream>
class tester
{
public:
tester(){}
explicit tester(double val) :
m_a(val) // I assume this now overwrites the "default" initialise value?
{}
double m_a {1.123}; // Default constructor value?
};
int main()
{
tester t1;
tester t2(2.456);
std::cout << "t1:" << t1.m_a << std::endl;
std::cout << "t2:" << t2.m_a << std::endl;
return 0;
}
我的问题是,你能在类和构造函数体中同时拥有初始化值吗?- 编译器如何解决这个问题?似乎构造函数获胜,因为该程序的输出是:
t1:1.123
t2:2.456
解决方案
推荐阅读
- c# - char8 和 uchar8 等效
- flutter - Flutter - 无法在 android 上安装 apk
- linkedin-api - 如何从 LinkedIn Voyager API 获取已读回执?
- c++ - 调用函数指针时 CUDA 内核崩溃
- ruby-on-rails - Rails 新手尝试将月份和年份从表单传递到 url
- visual-studio-code - 如何在 VSCode 中禁用风筝提示片段设置?
- php - 无法在 PHP Laravel 项目中显示 JPEG 图像
- node.js - 存储文件(pdf),因此只有经过身份验证的用户才能访问它们(使用 nextjs)
- javascript - 如何按名称查找频道 DiscordJS 12
- windows - 恢复除一个文件夹外的所有文件