测试结果是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()’未定义的引用
有种常用的做法,为了禁掉一个类的拷贝函数和等号操作符,可以将他们声明为私有,但是不用定义。
类成员只声明不实现,调用时会怎么样?
时间: 2024-11-09 01:47:16