首页 > 代码库 > 类成员只声明不实现,调用时会怎么样?
类成员只声明不实现,调用时会怎么样?
测试结果是private和public两种情况是不同的。
测试代码是
class onlyDeclare { private: void priFunc(); public: void pubFunc(); }; void test() { onlyDeclare od; //od.pubFunc();//对‘onlyDeclare::pubFunc()’未定义的引用 //od.priFunc();//‘void onlyDeclare::priFunc()’是私有的 }
如果是private,在编译阶段就会报错:‘void onlyDeclare::priFunc()’是私有的
如果是public,则会通过编译阶段,在链接阶段报错:对‘onlyDeclare::pubFunc()’未定义的引用
有种常用的做法,为了禁掉一个类的拷贝函数和等号操作符,可以将他们声明为私有,但是不用定义。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。