qq_36573673 2017-05-29 13:34 采纳率: 0%
浏览 844
已结题

没有默认构造的函数怎么传参

 #ifndef OBJ_H
#define OBJ_H
#include <iostream>
#include <string>
using namespace std;
class obj {
public:
    explicit obj(string st) :str(st) {
    }
    void print() {
        cout << str << endl;
    }

private:
    string str;
};
#endif
 #include"obj.h"

class objcontainer {
public:
    objcontainer(string str) :o(str){}

    objcontainer( obj ob) {

    }
    obj *operator->()
    {
        return &o;
    }
private:
    obj o;
};


 objcontainer( obj ob) {
            o=ob;
            //提示obj没有默认构造的函数,这不是拷贝函数么?
    }
  objcontainer( obj ob):o(ob) {
        //这样又对了
    }
  • 写回答

1条回答 默认 最新

  • threenewbee 2017-05-29 15:48
    关注

    派生一个类,定义有参数的构造函数,传给成员

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料