1. inline与类内定义的函数

函数如果在class body内定义的话,就会自动称为inline的候选人,之所以是说称为候选人,是因为到底是不是inline是由编译器决定的,如果函数比较复杂,则即使声明为inline,编译器也不会把它当做inline。
2. 构造函数重载

上面两个构造函数是不能被这样重载的,因为第一个有参的构造函数给了初值,那么如果写一个Complex c1;那调用第一个和第二个都可以,编译器也不知道该怎么办了,然后就报错。
3.构造函数放在private中与singleton模式
构造函数放在private中一般没什么作用,因为如果在private里面,要构造一个对象怎么办?但是如果要实现单例模式,就可以将构造函数放在private中。

4.相同class的各个object互为友元

上面的func中竟然可以直接取param的实部和虚部,因为相同class的各个object互为友元,所以可以直接访问private变量。
本文深入探讨C++中inline函数的特点及编译器如何决定其使用,解析构造函数重载的限制条件,揭示构造函数置于private的作用及其在Singleton模式中的应用,并介绍相同class对象间的友元特性。
1637

被折叠的 条评论
为什么被折叠?



