c++构造函数赋值。


#include<iostream>
using namespace std;
class myclass {
private:
    int num1;
    int num2;
public:
    myclass(int n) {
        num1 = n;
    }
    void print1() {
        cout << num1 << endl;
    }
    void print2() {
        cout << num2 << endl;
    }
};
int main() {
    myclass obj(10);
    obj.print1();
    obj.print2();
}

构造函数给num1赋值,怎样构造同样类型的构造函数给num2赋值?
能不能同时创建两个参数同样的构造函数

什么意思?再加一个构造函数就可以了

    myclass(int n, int m) {
        num1 = n;
        num2 = m;
    }

但是函数重载不允许你2个构造函数都是一个int参数,一个给num1,一个给num2

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7587396
  • 这篇博客你也可以参考下:c++给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
  • 以下回答来自chatgpt:

    你可以创建一个具有两个参数的构造函数来实现你的需求。以下是代码示例:

    class MyClass {
    public:
        int num1;
        int num2;
    
        // 构造函数
        MyClass(int n1, int n2) {
            num1 = n1;
            num2 = n2;
        }
    };
    
    int main() {
        // 创建一个对象,并初始化num1和num2
        MyClass obj(10, 20);
    
        // 输出num1和num2的值
        cout << "num1: " << obj.num1 << endl;
        cout << "num2: " << obj.num2 << endl;
    
        return 0;
    }
    

    这样,你就可以同时创建具有两个参数的构造函数,并能够用这些参数来初始化类的成员变量num1和num2。

    希望这个解决方案能帮到你!如果你还有其他问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^