gpt4 book ai didi

c++ - 带参数初始化的函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:27:07 26 4
gpt4 key购买 nike

我的问题是基于句子void print(const string& msg = "")的效果,与void print(const string& msg)相比有什么区别,

当我在 main() 中使用 print 函数时,我可以在不为函数 print() 传递参数的情况下调用该函数吗?像 p.print()?

class Point {
int i, j, k;
public:
Point(): i(0), j(0), k(0) {}
Point(int ii, int jj, int kk)
: i(ii), j(jj), k(kk) {}
void print(const string& msg = "") const {
if(msg.size() != 0) cout << msg << endl;
cout << "i = " << i << ", "
<< "j = " << j << ", "
<< "k = " << k << endl;
}
};

int main() {
Point p, q(1,2,3);
p.print("value of p");
q.print("value of q");
} ///:~

最佳答案

是的,这是默认参数。如果您不提供,将使用一个空字符串。

因此,调用 p.print() 等同于调用 p.print("")

关于c++ - 带参数初始化的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10598681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com