day3C++

本文介绍了如何在C++中设计Per类,包含姓名、年龄、指针成员等,并设计了Stu类,包含成绩和Per类对象。详细讲解了构造函数、析构函数和拷贝构造函数的实现。
摘要由CSDN通过智能技术生成

设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数和拷贝构造函数。

#include <iostream>

using namespace std;

class Per
{
private:
    string name;
    int age;
    double *height;
    double *weight;
public:
    Per()
    {
        cout << "Per::无参构造函数" << endl;
    }
    Per(string name,int age,double h,double w):name(name),age(age),height(new double(h)),weight(new double(w))
    {
        cout << "Per::有参构造函数" << endl;
    }
    ~Per()
    {
        cout << "Per::析构函数" << endl;
        delete height;
        delete weight;
    }
    Per(const Per &other):name(other.name),age(other.age),height(other.height),weight(other.weight)
    {
        cout << "Per::拷贝构造函数" << endl;
    }
};

class Stu
{
private:
    double score;
    Per p1;
public:
    Stu()
    {
        cout << "Stu::无参构造函数" << endl;
    }
    Stu(double score,string name,int age,double h,double w):score(score),p1(name,age,h,w)
    {
        cout << "Stu::有参构造函数" << endl;
    }
    ~Stu()
    {
        cout << "Stu::析构函数" << endl;
    }
    Stu(const Stu &other):score(other.score),p1(other.p1)
    {
        cout << "Stu::拷贝构造函数" << endl;
    }
};

int main()
{
    Stu s1;
    Stu s2(99.5,"张三",18,180,140);
    Stu s3=s2;
    return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sure! Here's the C++ code that calculates the first day on which Takahashi has to take K pills or less: ```cpp #include <iostream> #include <vector> int main() { int N, K; std::cin >> N >> K; std::vector<int> a(N); std::vector<int> b(N); for (int i = 0; i < N; i++) { std::cin >> a[i] >> b[i]; } long long day = 1; long long remainingPills = 0; for (int i = 0; i < N; i++) { remainingPills += a[i]; if (remainingPills >= K) { std::cout << day << std::endl; return 0; } day++; remainingPills -= b[i]; if (remainingPills <= 0) { remainingPills = 0; } } day += (remainingPills + K - 1) / K; std::cout << day << std::endl; return 0; } ``` In this code, we first take the inputs N and K, representing the number of medicine types and the maximum number of pills Takahashi can take in a day. Then we take the arrays `a` and `b`, where `a[i]` represents the number of days Takahashi has to take `b[i]` pills of the `i-th` medicine. We iterate through the arrays and keep track of the remaining pills. If at any point the remaining pills are greater than or equal to K, we output the current day and exit the program. Otherwise, we increment the day counter, reduce the remaining pills by `b[i]`, and if the remaining pills become less than or equal to 0, we set it to 0. Finally, if there are still remaining pills, we calculate the additional days needed by dividing the remaining pills by K (rounded up) and add it to the current day. The result is the first day on which Takahashi has to take K pills or less. Please note that this code assumes valid inputs and does not include any error handling.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值