初始化列表
来源:互联网 发布:淘宝小卖家申请直播 编辑:程序博客网 时间:2024/06/04 19:45
构造函数和其它函数不同,除了有名字,参数列表,函数体之外,还有初始化列表。
初始化列表的语法:
class person
{
public:
int a;
person(int age):a(age)//初始化列表的语法
{
}
};
初始化列表效率较高,应该在能使用初始化列表的地方,尽量使用初始化列表:
class A
{
public:
int chang;
int kuan;
int gao;
A()
{
std::cout << "无参构造" << std::endl;
}
A(const A& a)
{
std::cout << "拷贝构造" << std::endl;
}
A& operator=(const A& a)
{
this->chang = a.chang;
this->kuan = a.kuan;
this->gao = a.gao;
std::cout << "=重载" << std::endl;
return *this;
}
};
class B
{
public:
A a;
public:
B(const A& a1)
{
a = a1;
}
};
class C
{
public:
A a;
public:
C(const A& a1):a(a1)
{
}
};
void test()
{
A a;
B b(a);
}
//调用test()函数,会打印出:1.无参构造,2.无参构造,3.=重载。
//第一句无参构造,对应A中的无参构造,第二句无参构造,对应B中的拷贝构造,第三句,=重载,对应B中的拷贝构造
void test1()
{
A a;
C c(a);
}
//调用test1()函数,会得出:1.无参构造,2.拷贝构造.
//与test()函数相比,少了一次无参构造,效率更高。
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 初始化列表
- 列表初始化
- 初始化列表
- 初始化列表
- 初始化列表
- 列表初始化
- LeetCode 516. Longest Palindromic Subsequence 解题报告
- 【R-CNN系列目标检测】(2)SPP-Net算法
- 总结
- 将二叉树拆成链表
- 开方的用法
- 初始化列表
- 根据具体日期计算是一年的第几周和当月的第几周
- Android 使用android-async-http网络请求框架出现Header[]不识别错误的解决办法
- ubuntu-qq一样的截图软件
- hello world C#
- Smali相关的基础知识点
- 二叉树的所有路径
- Java核心技术II:实现服务器编程ServerSocket
- pymongo 简单操作