定义书类Book类:
1) 每本书的信息包含有书名(C++string类型)和单价;
2) 定义两个构造函数:带一个参数的构造函数、带两个参数的构造函数
在主函数内测试,分别调用这两个构造函数,完成对象的初始化。
注意:使用string类
新手小白构造函数老师讲的太快没学懂,有大佬帮忙解析一下吗,
相关链接注释更好。
c++构造函数和函数重载
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 一曲长歌仗剑天涯 2020-04-17 10:56关注
构造函数是用来说明对象的。构造函数可以有任意类型的参数,但是不能有返回值。在你对一个对象进行初始化的时候要调用构造函数。并且构造函数不能定义在在私有部分。还有,构造函数的函数名为类名。就像你上面说的Book类,如下
#include <iostream> using namespace std; class Book { public : string Bookname; int Bookprince; Book(string name); //有一个参数的构造函数 Book(string name,int prince); //有两个参数的构造函数 ~Book(); //析构函数 }; Book::Book(string name) //构造函数不需要返回值 { Bookname = name; Bookprince = 100; } Book::Book(string name,int prince) //构造函数不需要返回值 { Bookname = name; Bookprince = prince; } Book::~Book() //析构函数用于在对象生命结束的时候自动调用 { cout << "The Book is over" << endl; } int main() { Book book1("c++"),book2("c语言",50); //用构造函数进行初始化 cout << book1.Bookname << " " << book1.Bookprince << endl; cout << book2.Bookname << " " << book2.Bookprince << endl; return 0; }
而像构造函数这种函数名称相同但是参数不同实现的代码也有区别,在调用的时候根据参数类型和数目决定调用哪个函数。这种方式称为函数重载。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法