当前位置: 首页 > news >正文

承接网站建设广告语在线做任务的网站有哪些

承接网站建设广告语,在线做任务的网站有哪些,四川旅游网站设计论文,机票网站建设方总1340812权限管理是 c 的一大特点#xff0c;面向对象语言封装的特性也给权限管理带了了方便。c 中的权限主要有 3 种#xff1a;public#xff0c;private#xff0c;protected。类中的函数和属性默认是 private 的#xff0c;类的继承关系默认也是 private 的。 public#xf…权限管理是 c 的一大特点面向对象语言封装的特性也给权限管理带了了方便。c 中的权限主要有 3 种publicprivateprotected。类中的函数和属性默认是 private 的类的继承关系默认也是 private 的。 publicprivateprotected 的使用场景有两个修饰类成员以及修饰类的继承关系。本文先记录这 3 个权限修饰符修饰类成员以及继承关系最后再记录 friend 的使用。 1 类成员 类内部子类内部通过对象public可以访问可以访问可以访问private可以访问不可以访问不可以访问protected可以访问可以访问不可以访问 1.1 public public 权限是最宽松的被修饰为 public 的成员在类内部可以直接访问也可以在类外部通过对象来访问当然也可以在类的派生类中访问权限没有限制。 下边的代码 Base 类中的 Do() 函数是 public 的属性 a_ 是 public 的这两个方法和属性在类内部子类中类外部都可以访问。 最宽松的权限管理没有什么限制。 #include iostream #include stringclass Base { public:Base(int a) {a_ a;std::cout Base(), a_ a_ std::endl;Do();};~Base() {std::cout ~Base(), a_ a_ std::endl;};void Do() {std::cout Base() Do(), a_ a_ std::endl;};public:int a_; };class Derived : public Base { public:Derived() : Base(50) {a_ 100;std::cout Derived(), a_ a_ std::endl;};~Derived() {std::cout ~Derived(), a_ a_ std::endl;}; };int main() {Base b(1);b.Do();Derived d;d.Do();b.a_ 12;b.Do();d.a_ 20;d.Do();return 0; }1.2 private 如下代码将 Base() 中的 Do() 函数以及属性 a_ 的权限改成了 private。private 权限的函数或者属性只能在类内部访问不能在类外部访问在子类中也不能访问。 最严格的管理最隐秘的隐私自己的孩子都不知道外人当然不知道。 技术来源于生活。 #include iostream #include stringclass Base { public:Base(int a) {a_ a;std::cout Base(), a_ a_ std::endl;Do();};~Base() {std::cout ~Base(), a_ a_ std::endl;};private:void Do() {std::cout Base() Do(), a_ a_ std::endl;};private:int a_; };class Derived : public Base { public:Derived() : Base(50) {a_ 100; // 编译错误private 属性只能在类内部访问子类不能方位std::cout Derived(), a_ a_ std::endl; // 编译错误};~Derived() {std::cout ~Derived(), a_ a_ std::endl; // 编译错误}; };int main() {Base b(1);b.Do(); // 编译错误Derived d;d.Do(); // 编译错误b.a_ 12; // 编译错误b.Do(); // 编译错误d.a_ 20; // 编译错误d.Do(); // 编译错误return 0; }1.3 protected protected 权限管理介于 public 和 private 之间。protected 权限的函数或者属性在类内部能访问在派生类的内部也能访问但是在类外部通过对象不能访问。 #include iostream #include stringclass Base { public:Base(int a) {a_ a;std::cout Base(), a_ a_ std::endl;Do();};~Base() {std::cout ~Base(), a_ a_ std::endl;};protected:void Do() {std::cout Base() Do(), a_ a_ std::endl;};protected:int a_; };class Derived : public Base { public:Derived() : Base(50) {a_ 100;std::cout Derived(), a_ a_ std::endl;Do();};~Derived() {std::cout ~Derived(), a_ a_ std::endl;}; };int main() {Base b(1);b.Do(); // 编译错误Derived d;d.Do(); // 编译错误b.a_ 12; // 编译错误b.Do(); // 编译错误d.a_ 20; // 编译错误d.Do(); // 编译错误return 0; }2 继承 在类继承的时候如果不指定权限默认是 private 继承。 基类 public 成员基类 private 成员基类 protected 成员public 继承在子类中仍为 public在子类中不可见在子类中仍为 protectedprivate 继承在子类中变为 private在子类中不可见在子类中变为 privateprotected 继承在子类中变为 protected在子类中不可见在子类中仍为 protected 2.1 public public 继承在子类中能访问父类的 protected 成员但是不能访问 private 成员。 在类外边通过对象也不能访问 protected 成员和 private 成员。 #include iostream #include stringclass Base { public:Base() {std::cout Base() std::endl;};~Base() {std::cout ~Base() std::endl;};void PublicDo() {std::cout Base() public do std::endl;}int public_a_;private:void PrivateDo() {std::cout Base() private do std::endl;}int private_a_;protected:void ProtectedDo() {std::cout Base() protected do std::endl;}int protected_a_; };class Derived : public Base { public:Derived() {std::cout Derived() std::endl;std::cout public a: public_a_ std::endl;std::cout private a: private_a_ std::endl; // 编译错误}~Derived() {std::cout ~Derived() std::endl;}void DerivedDo() {PublicDo();PrivateDo(); // 编译错误ProtectedDo();} };int main() {Base b;b.PublicDo();b.PrivateDo(); // 编译错误b.ProtectedDo(); // 编译错误b.public_a_ 10;b.private_do_ 20; // 编译错误b.protected_do_ 30; // 编译错误Derived d;d.DerivedDo();return 0; }2.2 private private 继承父类的 public 成员和 protected 成员在子类中都成为 private 属性在子类内可以访问不能通过对象来访问子类再派生的类也不能访问子类中不能访问父类中的 private 成员。  #include iostream #include stringclass Base { public:Base() {std::cout Base() std::endl;};~Base() {std::cout ~Base() std::endl;};void PublicDo() {std::cout Base() public do std::endl;}int public_a_;private:void PrivateDo() {std::cout Base() private do std::endl;}int private_a_;protected:void ProtectedDo() {std::cout Base() protected do std::endl;}int protected_a_; };class Derived : private Base { public:Derived() {std::cout Derived() std::endl;std::cout public a: public_a_ std::endl;// std::cout private a: private_a_ std::endl; // 编译错误}~Derived() {std::cout ~Derived() std::endl;}void DerivedDo() {PublicDo();// PrivateDo(); // 编译错误ProtectedDo();} };int main() {Base b;b.PublicDo();// b.PrivateDo(); // 编译错误// b.ProtectedDo(); // 编译错误b.public_a_ 10;// b.private_do_ 20; // 编译错误// b.protected_do_ 30; // 编译错误Derived d;d.DerivedDo();return 0; }2.3 protected 父类中的 public 成员在子类中变为 protected 属性protected 和 private 属性保持不变 #include iostream #include stringclass Base { public:Base() {std::cout Base() std::endl;};~Base() {std::cout ~Base() std::endl;};void PublicDo() {std::cout Base() public do std::endl;}int public_a_;private:void PrivateDo() {std::cout Base() private do std::endl;}int private_a_;protected:void ProtectedDo() {std::cout Base() protected do std::endl;}int protected_a_; };class Derived : protected Base { public:Derived() {std::cout Derived() std::endl;std::cout public a: public_a_ std::endl;std::cout private a: private_a_ std::endl; // 编译错误}~Derived() {std::cout ~Derived() std::endl;}void DerivedDo() {PublicDo();PrivateDo(); // 编译错误ProtectedDo();} };int main() {Base b;b.PublicDo();b.PrivateDo(); // 编译错误b.ProtectedDo(); // 编译错误b.public_a_ 10;b.private_do_ 20; // 编译错误b.protected_do_ 30; // 编译错误Derived d;d.DerivedDo();return 0; }3 friend friend 是说一个类对另一个函数或者另一个类的认证如果一个类 A 中认证一个不是 A 成员函数的函数 F 为 friend 或者另一个类 B 为 friend那么 F 或者 B 都可以访问 A 的私有成员。 给固化的权限管理增加了一些灵活性。 3.1 友元函数 1友元函数可以访问类的 public 成员private 成员protected 成员 2 友元函数可以声明在类的 public 中private 中protected 中如代码中的 PhoneTest()PhoneTest1()PhoneTest2()效果是一样的 3友元函数可以是一个独立的函数也可以定义在类中(其实不属于类)也可以是另一个类的成员函数 #include iostream #include stringclass Phone; class Work { public:void Do(Phone phone); };class Phone { public:Phone() {std::cout Phone() std::endl;}~Phone() {std::cout ~Phone() std::endl;}void PublicCallUp() {std::cout PublicCallUp() std::endl;}int public_a_ 10;friend void PhoneTest(Phone phone);friend void Work::Do(Phone phone);friend void InnerFriend(Phone phone) {std::cout InnerFriend() std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print();}private:void PrivateCallUp() {std::cout PrivateCallUp) std::endl;}void Print() {std::cout public a: public_a_ std::endl;std::cout private a: private_a_ std::endl;std::cout protected a: protected_a_ std::endl;}int private_a_ 20;friend void PhoneTest1(Phone phone);protected:void ProtectedCallUp() {std::cout ProtectedCallUp() std::endl;}int protected_a_ 30;friend void PhoneTest2(Phone phone); };void Work::Do(Phone phone) {std::cout Work() Do() std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print();}void PhoneTest(Phone phone) {std::cout PhoneTest std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print(); }void PhoneTest1(Phone phone) {std::cout PhoneTest1 std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print(); }void PhoneTest2(Phone phone) {std::cout PhoneTest2 std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print(); }int main() {Phone phone;PhoneTest(phone);PhoneTest1(phone);PhoneTest2(phone);Work work;work.Do(phone);return 0; }3.2 友元类 友元类中的函数不管是 public还是 private 还是 protected 的都可以访问类的成员(publicprivateprotected)。  #include iostream #include stringclass Phone; class Work { public:void PublicDo(Phone phone);private:void PrivateDo(Phone phone);protected:void ProtectedDo(Phone phone); };class Phone { public:Phone() {std::cout Phone() std::endl;}~Phone() {std::cout ~Phone() std::endl;}void PublicCallUp() {std::cout PublicCallUp() std::endl;}int public_a_ 10;friend class Work;private:void PrivateCallUp() {std::cout PrivateCallUp) std::endl;}void Print() {std::cout public a: public_a_ std::endl;std::cout private a: private_a_ std::endl;std::cout protected a: protected_a_ std::endl;}int private_a_ 20;protected:void ProtectedCallUp() {std::cout ProtectedCallUp() std::endl;}int protected_a_ 30;};void Work::PublicDo(Phone phone) {std::cout Work() PublicDo() std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print();PrivateDo(phone);ProtectedDo(phone); }void Work::PrivateDo(Phone phone) {std::cout Work() PrivateDo() std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print(); }void Work::ProtectedDo(Phone phone) {std::cout Work() ProtectedDo() std::endl;phone.Print();phone.PublicCallUp();phone.PrivateCallUp();phone.ProtectedCallUp();phone.public_a_ 11;phone.private_a_ 21;phone.protected_a_ 31;phone.Print(); }int main() {Phone phone;Work work;work.PublicDo(phone);// work.PrivateDo(phone);// work.ProtectedDo(phone);return 0; }
http://www.zqtcl.cn/news/632111/

相关文章:

  • 天津公司网站怎样制作网页设计图片尺寸
  • 网站建设中模板代码网络营销推广公司哪家好
  • 百度免费建立网站搜索引擎推广效果
  • 网站建设分金手指排名十二建设内容管理网站的目的
  • 无锡网站策划制作网站的工具
  • 免费的网站开发软件百度做网站推广的费用
  • 汽车维修东莞网站建设怎么用阿里的域名 做网站
  • 网站怎么做免费cosy WordPress
  • wordpress 关闭自动更新青岛济南网站建设优化
  • 外贸网站推广平台哪个好如何建设手机端网站
  • linux新建网站巩义网站建设定制
  • 网站建设要什么软件有哪些北京seo
  • 空调设备公司网站建设wordpress 4.9
  • 潮州市网站建设公司网页设计代码模板素材
  • 深圳做网站开发费用个人网页设计作品手绘
  • 怎样做网站跳转国内企业建站模板
  • 优化网站哪个好互联网公司市值
  • 广州微信网站开发游戏企业用什么程序做网站
  • 深圳赶集同城网站建设网站空间类型
  • 怎么样做网站代wordpress手机上传图片插件
  • 西安做网站xamokjwordpress 酒业模板
  • 做微博网站如何开网店卖自己的东西
  • 黄骅市有什么好玩的地方常州百度seo排名
  • 做英语在线翻译兼职网站公交建设公司的官网
  • 做网站需要什么电脑律师事务所在线咨询免费
  • 网站建设推广公司需要哪些岗位建站模板源码
  • 网站深圳优化建设购物网站模版
  • 网站后端用什么软件做广西城乡建设部网站首页
  • wordpress android客户端湛江网站关键词优化
  • 建材企业网站推广方案申请域名建立网站