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

迁安市住房和城乡建设局网站建网站企划书

迁安市住房和城乡建设局网站,建网站企划书,房地产新闻最新政策,企业级网站开发平台上规则 // 默认情况下,c 编译器至少给一个类添加三个函数 //1.默认构造函数(无参,函数体为空) //2.默认析构函数 (无参 ,函数体为空) //3.默认拷贝函数,对其属性进行值拷贝 //构…

上规则

// 默认情况下,c++ 编译器至少给一个类添加三个函数

//1.默认构造函数(无参,函数体为空)

//2.默认析构函数 (无参 ,函数体为空)

//3.默认拷贝函数,对其属性进行值拷贝

//构造函数调用规则:
//如果用户定义有参构造函数,c++不再提供默认无参构造函数,但是会提供默认拷贝函数
//如果用户定义拷贝构造函数,c++不会再提供其他构造函数

正文

假设我们有一个简单的类 Person,表示一个人的信息,包括姓名和年龄。首先,我们不定义任何构造函数、拷贝构造函数或析构函数,看看编译器会为我们自动生成什么函数。

#include <iostream>
#include <string>class Person {
public:std::string name;int age;
};int main() {Person person1; // 默认构造函数被调用person1.name = "Alice";person1.age = 30;Person person2 = person1; // 默认拷贝构造函数被调用return 0;
}

在这个例子中,我们定义了一个 Person 类,它具有两个属性:name 和 age。在 main 函数中,我们首先创建了一个名为 person1 的 Person 对象。由于我们没有定义任何构造函数,编译器为我们生成了默认构造函数。这个默认构造函数没有参数,函数体为空,所以我们可以使用 Person person1; 来创建一个空的 person1 对象。

接着,我们将 person1 的值拷贝到 person2 中,这时默认拷贝构造函数被调用。默认拷贝构造函数会逐个复制成员变量的值,所以 person2 会与 person1 具有相同的属性值。

现在,让我们定义一个有参构造函数和一个拷贝构造函数,看看它们如何影响默认函数的生成和构造函数的调用规则:

#include <iostream>
#include <string>class Person {
public:std::string name;int age;// 有参构造函数Person(const std::string& n, int a) : name(n), age(a) {std::cout << "Parametric constructor called" << std::endl;}// 拷贝构造函数Person(const Person& other) : name(other.name), age(other.age) {std::cout << "Copy constructor called" << std::endl;}
};int main() {Person person1("Alice", 30); // 有参构造函数被调用Person person2 = person1; // 拷贝构造函数被调用return 0;
}

在这个例子中,我们定义了一个有参构造函数和一个拷贝构造函数。现在,由于我们定义了有参构造函数,编译器不再为我们生成默认的无参构造函数。但是,编译器仍然会为我们生成默认的拷贝构造函数,因为我们没有定义拷贝构造函数时,编译器会提供默认实现。

在 main 函数中,我们首先使用有参构造函数创建了一个 person1 对象,然后将其值拷贝给 person2。由于我们定义了有参构造函数,编译器不再提供默认无参构造函数,但仍提供默认拷贝构造函数。因此,拷贝构造函数被调用来复制 person1 的值给 person2。

总结一下:

默认构造函数:如果没有定义任何构造函数,编译器会为你提供默认的无参构造函数。
默认拷贝构造函数:如果没有定义拷贝构造函数,编译器会为你提供默认的拷贝构造函数,用于值拷贝对象。
构造函数调用规则:如果你定义了有参构造函数,编译器不再提供默认无参构造函数,但仍提供默认拷贝构造函数。如果你定义了拷贝构造函数,编译器不再提供其他构造函数。
这些规则有助于理解C++中的构造函数和默认函数生成规则。

http://www.yayakq.cn/news/919373/

相关文章:

  • 怎么做html5网站吗杭州seo技术培训
  • 造价人员做兼职的网站外贸网站如何换域名
  • 阿里云专有网络做网站常德网站seo
  • 成都网站建设哪家好文章旅游最新政策
  • 网上商城运营方案网站优化吧
  • 洛阳网站在哪备案衣服搭配网站建设
  • 在vs中做网站互联网小程序设计师
  • 凡科网站建站宜春公司网站建设
  • 大型网站集群怎么做中山做企业网站
  • 梅州网站建微信小程序插件开发
  • 自设计网站网站首页页面代码
  • 西安网站建设kxccc校园网站建设方案模板
  • 上海手机网站建设免费网络短剧
  • 公司做网站费用和人员配备中山有哪些网站建立公司
  • 地方网站做的好的阿里巴巴域名
  • 网站建设的法律依据灌南县规划局网站理想嘉苑规划建设
  • 手机端做的优秀的网站沈阳seo顾问
  • 象屿做核放单的网站江苏省通信建设交易中心网站
  • 邯郸小学网站建设做网站需要做什么
  • 免费三网合一网站系统wordpress文章末尾
  • 网站用微信登录 要怎么做太原制作网站的工作室
  • 建设银行手机外汇网站河北网站制作多少钱
  • 网站登录注册做验证码的目地计算机类哪个专业最吃香
  • 2015做导航网站好免费在线自助建站
  • 网站建设的域名续费设计开发网站
  • 做网站站怎么赚钱吗随州便宜做网站
  • 换空间对网站的影响上海定制网站建设
  • 网泰网站建设网络推广海外推广代理公司
  • 汕头网站建设报价上海比较好的电商公司有哪些
  • 企业网站建设的平台搜索引擎谷歌入口