怎么通过初始化给类赋两个值?

img

img

怎么通过P2初始化给People1传两个值啊?第一幅图运行正常,第二幅图就不能运行了,不明白到底该通过什么方法给People1传两个值。

  • 需要这样初始化,如下:
#include<iostream>
#include<queue>
using namespace std;

class Perple1
{
    public : 
        Perple1(string phonename, int id)
        {
            Phonename = phonename;
            Id = id;
        }
    private:
        string Phonename;
        int Id;
};

class Perple2
{
    public : 
        Perple2(string name, string peo, int A) : p_name(name), Peo(peo, A)
        {
            
        }
    
        string p_name;
        Perple1 Peo;
};

int main(){
     Perple2("KK", "KK2", 18);
}

如有帮助,欢迎点赞采纳哈~

你的Peo初始化对象的时候,需要2个参数,修改后的代码如下:

#include<iostream>
#include<queue>
using namespace std;
 
class People1
{
    public : 
        People1(string phonename, int id)
        {
            Phonename = phonename;
            Id = id;
        }
    private:
        string Phonename;
        int Id;
};
 
class People2
{
    public : 
        People2(string name, string peo, int A) : p_name(name), Peo(peo, A)
        {
        
        }
    
        string p_name;
        People1 Peo;
};
 
int main(){
     People2("KK", "KK2", 18);
}