类的构造函数写在公有私有和保护里面有哪些用处

[复制链接]
查看11 | 回复4 | 2016-10-16 01:18:40 | 显示全部楼层 |阅读模式
不一样。构造函数如果必须是公有的,这样才能在类外被调用。后面两种写法,你如果在主函数中声明 A a; 会报错。如果将构造函数声明为受保护的,那么只能被子类调用了;如果将构造函数声明为私有的,除了类自己的其他构造函数能够调用它之外,不能被类外和子类调用。 示例:#includeusing namespace std;class A{private:A(){cout<<"A()"<<endl;}public:A(int a){cout<<"A(int a): "<<a<<endl;A();}};int main(){A a(2);return 0;}...
回复

使用道具 举报

千问 | 2016-10-16 01:18:40 | 显示全部楼层
不一样。构造函数如果必须是公有的,这样才能在类外被调用。后面两种写法,你如果在主函数中声明 A a; 会报错。如果将构造函数声明为受保护的,那么只能被子类调用了;如果将构造函数声明为私有的,除了类自己的其他构造函数能够调用它之外,不能被类外和子类调用。 示例:#includeusing namespace std;...
回复

使用道具 举报

千问 | 2016-10-16 01:18:40 | 显示全部楼层
必须是public这是c++的规定。...
回复

使用道具 举报

千问 | 2016-10-16 01:18:40 | 显示全部楼层
//---------------------------------------------------------------------------#include class circle{ protected:
float R; private:
float PI; pub...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行