请教问题。自定义的类对象,使用vector的push_back()存储,程序崩溃,求教

C++语言 码拜 10年前 (2015-05-11) 897次浏览 0个评论
DevSystem::DevSystem()
{
    using namespace std;
    DCT k("k", ""K"", 0);
    DCTList.push_back(k);
class DCT
{
private:
    string name;
    char type;
    bool status;
    COCT *coptr;
    Queue<string> proname;
public:
    DCT();
    DCT(string n, char t, bool s, COCT *cp = nullptr);
    void ChangePoint(COCT &c);
    virtual ~DCT();
};

部分代码

10分
给你的DCT类增加一个拷贝构造函数试试。

public:
    DCT(const DCT& dct) {...};
程序崩溃时,中止程序,查看调用堆栈,定位到出错的代码处
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
DevSystem::DevSystem() {} 结束之后 , 对象k中的?COCT?*coptr 会析构掉, 你这种实现方式其实有蛮多坑的,自己多review下
20分
拷贝构造函数

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请教问题。自定义的类对象,使用vector的push_back()存储,程序崩溃,求教
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!