C++primer plus习题+答案

这篇具有很好参考价值的文章主要介绍了C++primer plus习题+答案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第十章

1.什么是类

类是用户定义的类型的定义。类声明指定了数据将如何存储,同时指定了用来访问和操纵这些数据的方法(类成员函数)

2.类如何实现抽象,封装和数据隐藏

类表示人们可以类方法的公有接口对类对象执行的操作,这是抽象,类的数据成员可以是私有的(默认值)。这意外着只能通过成员函数来访问这些数据,这是数据隐藏。实现的具体细节(如数据表示和方法的代码)都是隐藏的,这是封装。

3.对象和类之间的关系是什么?

类定义了一种类型,包括如何使用它。对象是一个变量或其他数据对象(如由new生成的),并根据类定义被创建和使用。类和对象之间的关系同标准类型与其变量之间的关系相同

4.除了类的函数成员是函数之外,类的函数成员与类的数据成员之间的区别还有什么?

如果创建给定类的多个对象,则每个对象都有其自己的数据内存空间,但所有的对象都是用同一组成员函数(通常,方法是公有的,而数据是私有的,但这只是策略方面的问题,而不是对类的要求)。

5.定义了一个类来标识银行账户。数据成员包括储户姓名,账号(两者使用字符串表示)和存款。成员函数执行如下操作。

        创建一个对象并将其初始化。

        显示储户姓名,账号和存款。       

        存入参数指定的存款

        取出参数指定的存款

        请提供类声明,而不用给出方法实现

class BankAccount

{

private:

    string fullname;

    string accid;

    double balance;

public:

    BankAccount();

    BankAccount(const string name, const string id, double bal);

    ~BankAccount()

    {

        cout << "我是析构函数";

    }

    void show_account();

    void deposit(double cash);      //存入参数指定的存款

    void withdraw(double cash);     //取出参数指定的存款

};

6.类的构造函数在何时调用?类的析构函数呢?

在创建类对象或显式调用构造函数时,类的构造函数都将被调用。当对象过期时,类的析构函数将被调用。

7.给出复习题5中银行账户类的构造函数的代码

BankAccount::BankAccount()

{

    fullname = "";

    accid = "";

    balance = 0;

}

BankAccount::BankAccount(const string name, const string id, double bal)

{

    fullname = name;

    accid = id;

    balance = bal;

}

8.什么是默认构造函数?拥有默认构造函数有何好处?

默认构造函数是没有参数或所有参数都有默认值的构造函数。拥有默认构造函数后,可以声明对象,而不 初始化它,即使已经定义了初始化构造函数。它还使得能够声明数组

9.修改Stock类的定义,使之包含返回各个数据成员的成员函数。注意,返回公司名的成员函数不应为修改数组提供便利,也就是说,不能简单的返回string引用。

#ifndef STOCK30_H_

#define STOCK30_H_

#include <string>

class Stock

{

private:

    std::string company;

    int shares;

    double share_val;

    double total_val;

    void set_tot() {total_val = shares *share_val;}

public:

    Stock() {};    //默认构造函数

    Stock(const std::string &co, long n = 0, double pr = 0.0);

    ~Stock() {};

    void buy(long num, double price);

    void sell(long num, double price);

    void update(double price);

    void show()const;

    const Stock &topval(const Stock &s) const;

    int numshares() const {return shares;}

    double shareval() const {return share_val;}

    double totalval() const {return total_val;}

    const std::string &co_name() const {return company;}

}

10.this和*this表示什么?

this指针是类方法可以使用的指针,它指向用于调用方法的对象。因此,this是对象的地址, *this是对象本身文章来源地址https://www.toymoban.com/news/detail-464741.html

到了这里,关于C++primer plus习题+答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ Primer第五版_第十八章习题答案(11~20)

    练习18.11 为什么 what 函数不应该抛出异常? what中如果抛出异常,需要try catch捕获,再调用what,一直循环,直达内存耗尽。 练习18.12 将你为之前各章练习编写的程序放置在各自的命名空间中。也就是说,命名空间chapter15包含Query程序的代码,命名空间chapter10包含TextQuery的代码

    2024年02月06日
    浏览(48)
  • C++ Primer第五版_第十四章习题答案(41~50)

    练习14.41 你认为 C++ 11 标准为什么要增加 lambda?对于你自己来说,什么情况下会使用 lambda,什么情况下会使用类? 使用 lambda 是非常方便的,当需要使用一个函数,而这

    2024年02月01日
    浏览(46)
  • C++ Primer第五版_第十六章习题答案(41~50)

    练习16.41 编写一个新的 sum 版本,它返回类型保证足够大,足以容纳加法结果。 练习16.42 对下面每个调用,确定 T 和 val

    2024年02月04日
    浏览(47)
  • C Primer Plus第九章编程练习答案

    学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.设计一个函数min(x, y),返回两个double类型值的较小值。在一个简单 的驱动程序中测试该函数。 2

    2024年02月06日
    浏览(43)
  • C++ Primer Plus第五章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和则程序将出29之间所有整数的和为44 2.使用array对

    2024年02月09日
    浏览(52)
  • C++ Primer Plus第二章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个C++程序,它显示您的姓名和地址。 2.编写一个C程序它要求用户输入一个以 long 为单位的距离,然后将它转换为码(- ng等于220码) 3.编写1个C++程序它使用3个用户定义的函数(括mai()),并生成下面的输出Three blind

    2024年02月09日
    浏览(55)
  • C++ primer plus第七章编程练习答案

    1.编写一个程序,不断要求用户输入两个数,直到其中的一个为 0。对于每两个数,程序将使用一个南数来计算它们的调和平均数,并将结果返回给 main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下: 调和平均数=2.0*xy/(x + y) 2.编写一个程序,要求用

    2024年02月10日
    浏览(39)
  • C Primer Plus第六章编程练习答案

    学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小 写字母。然后打印数组的所有

    2024年02月06日
    浏览(44)
  • C++ Primer第五版_第九章习题答案(51~52)

    练习9.51 设计一个类,它有三个unsigned成员,分别表示年、月和日。为其编写构造函数,接受一个表示日期的string参数。你的构造函数应该能处理不同的数据格式,如January 1,1900、1/1/1990、Jan 1 1900 等。

    2023年04月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包