当前位置: 首页 > news >正文 前端开发培训费用北京seo服务商 news 2025/10/27 22:27:44 前端开发培训费用,北京seo服务商,h5制作软件包括,怀化网站seo私有#xff0c;公有#xff0c;针对类而言#xff1b; 私有( private )的成员#xff0c;自己的#xff0c;只能在自己内部( 类的定义体内部 )访问#xff0c;外部( 类的定义体外部 )不能访问/调用#xff1b; 公有( 或者说公开#xff0c;public )的成员#xff0…私有公有针对类而言 私有( private )的成员自己的只能在自己内部( 类的定义体内部 )访问外部( 类的定义体外部 )不能访问/调用 公有( 或者说公开public )的成员对外开放的可以在自己外面( 类的定义体外部 )被访问到即可调用/访问到 1. 什么是私有继承其目的与好处是什么 私有继承是 C 中的一种继承方式它使得基类的公有和保护成员在派生类中变为派生类的私有成员。也就是说派生类的实例对象不能直接访问基类的公有成员但可以在派生类的定义体内部访问基类的公有成员和保护成员。 “私有继承”类似于一个私生子私生子可以有父类的能力但是不能让外人看到其本质需要私生子自己包装一下也就是将父类的接口包含在自己的对外接口的定义体内部。这样私生子有父类的能力但是外人也看不到其本质。 目的与好处 封装私有继承可以帮助实现更好的封装。当你不希望基类的接口暴露给用户时可以选择私有继承。 实现“是一个”的关系私有继承可以表示一种“实现”关系而不是“是一个”关系。这意味着派生类可以实现基类的功能但是不能将基类的接口暴露给外部。也就是私生子可以拥有父类的能力但是对外不能承认它的身份不能有父类的标志。所以是实现 是一个的关系。 控制访问通过私有继承派生类可以控制对基类成员的访问确保只有在派生类内部可以访问基类的公有成员和保护成员。而不能通过派生类的实例对象访问基类的公有成员和保护成员 示例代码 下面是一个示例演示私有继承的用法 #include iostream #include string// 基类 Base class Base { public:void display() const {std::cout Base class display function. std::endl;}protected:std::string protectedMember Protected Member; };// 派生类私有继承 基类 Base class Derived : private Base { public:void show() {// 可以访问基类的公有和保护成员display(); // 调用/访问基类的公有成员 --- display()方法std::cout Accessing: protectedMember std::endl; // 访问基类的保护成员} };int main() {Derived derived; // 创建派生类的实例对象derived.show(); // 访问派生类的公开成员show()// 下面这行代码会报错因为 display() 是基类的公有成员在派生类 Derived 中是私有的// derived.display(); // 不能在类的外部访问类的私有成员return 0; }说明 基类 Base 包含一个公有成员 display() 和一个保护成员 protectedMember。 派生类 Derived 私有继承 Base。这意味着基类 Base 的公有和保护成员在派生类 Derived 中变为私有成员。在派生类 Derived的公开成员show() 中派生类 Derived 可以访问基类Base 的 公开成员display() 方法以及保护成员 protectedMember。 在 main 函数中 创建了派生类Derived 的一个实例对象并调用派生类的公开成员show() 方法成功访问了基类的公开和保护成员。尝试直接调用 derived.display() 会导致编译错误因为基类的公开成员 display()在派生类Derived 中是私有的不暴露给外部访问。 运行结果 运行上述代码输出将是 Base class display function. Accessing: Protected Member这表明私有继承成功地封装了基类的接口只有在派生类Derived 的内部可以访问基类的公有和保护成员。通过这种方式可以实现更严格的访问控制和封装。 2. 基类被子类私有继承后基类的公有成员依然能够被子类访问。这个对吗为什么 对 基类被派生类私有继承后基类的公有成员和保护成员依然能够在派生类的内部被访问。 原因 在 C 中私有继承意味着派生类的实例对象不能直接访问基类的公有成员和保护成员因为此时基类的公开成员和保护成员在派生类中变成私有的但是在派生类的定义体内部可以访问基类的公有成员和保护成员。这也表明类的私有成员只有在类的定义体内部才可以被访问 示例代码 下面是一个示例展示一下基类的公有成员如何在私有继承的情况下被子类访问。 #include iostream #include string// 基类 Base class Base { public:void show() const {std::cout Base class show function. std::endl;}std::string name Base Class; };// 派生类Derived私有继承 基类 Base class Derived : private Base { public:void accessBaseMembers() {// 可以访问基类的公有成员show(); // 调用/访问基类的公有成员 --- show()方法std::cout Accessing base member: name std::endl; // 访问基类的公有成员变量} };int main() {Derived derived; // 创建派生类的实例对象derived.accessBaseMembers(); // 访问派生类的公开成员accessBaseMembers()// 下面这行代码会报错因为 show() 是基类的公有成员但在派生类 Derived 中是私有的// derived.show(); // 不能在类的外部访问类的私有成员 return 0; }说明 基类 Base 定义了一个公有成员函数 show() 和一个公有成员变量 name。 派生类 Derived 私有继承 Base。这意味着 Base 的公有成员在 Derived 中变成了 Derived 的私有成员。在 accessBaseMembers() 成员函数中派生类可以访问基类的公有成员函数 show() 和公有成员变量 name。 在 main 函数中 创建了派生类Derived 的一个实例对象并调用派生类Derived的公有成员 accessBaseMembers() 成功访问了基类的公有成员。尝试直接调用 derived.show()会导致编译错误因为 show() 在 派生类Derived 中是私有的不可在派生类Derived 的外部访问。 运行结果 运行上述代码输出将是 Base class show function. Accessing base member: Base Class这表明即使基类被私有继承派生类仍然可以在自己的定义体内部访问基类的公开成员( 和保护成员 )。 3. 私有继承和公有继承有什么区别 私有继承和公有继承是 C 中两种不同的继承方式它们在访问控制、基类与派生类之间的关系这两点上有显著区别。以下是它们的主要区别 (1) 访问控制 公有继承 基类的公有成员在派生类中仍然是公有的。基类的保护成员在派生类中仍然是保护的。基类的私有成员派生类不可访问。 私有继承 基类的公有成员在派生类中变为私有的。基类的保护成员在派生类中变为私有的。基类的私有成员派生类不可访问。 (2) 关系的表达 公有继承 明确表示“是一个”is-a关系。例如Dog 是 Animal 的一种。 私有继承 明确表示“实现”is-implemented-in-terms-of关系不承认(隐含) “是一个”关系。通常用于表示派生类使用基类的功能但不希望将基类的接口暴露给外部。 (3) 访问方式 公有继承 可以通过派生类的实例对象直接访问基类的公有成员。 私有继承 不能通过派生类的实例对象直接访问基类的公有成员只能在派生类的定义体内部访问基类的公有成员和保护成员。因此此时基类的公开成员和保护成员在派生类中变成( 派生类的 )私有的了 示例代码 以下是一个示例展示公有继承和私有继承的区别 #include iostream// 基类 Base class Base { public:void publicMethod() {std::cout Base public method. std::endl;}protected:void protectedMethod() {std::cout Base protected method. std::endl;} };// 派生类 PublicDevired 公开继承 Base类 class PublicDerived : public Base { public:void accessBaseMethods() {publicMethod(); // 可以访问 基类的公有成员protectedMethod(); // 可以访问 基类的保护成员} };// 派生类 PrivateDerived 私有继承 Base类 class PrivateDerived : private Base { public:void accessBaseMethods() {publicMethod(); // 可以访问 基类的公有成员protectedMethod(); // 可以访问 基类的保护成员} };int main() {PublicDerived pubDerived; // 创建 派生类 PublicDerived的实例对象pubDerived.accessBaseMethods(); // 访问派生类的公有成员// 下面这行代码会编译通过pubDerived.publicMethod(); // 可以直接访问基类的公有成员PrivateDerived privDerived; // 创建 派生类 PrivateDerived的实例对象privDerived.accessBaseMethods(); // 访问派生类的公有成员// 下面这行代码会报错因为 publicMethod 在 派生类 PrivateDerived 中是私有的// privDerived.publicMethod(); // 不能在类的外部访问类的私有成员return 0; }运行结果 运行上述代码输出将是 Base public method. Base protected method.Base public method.Base public method. Base protected method.总结 公有继承基类的公有成员在派生类中仍然是公有的允许在派生类的外部访问表示派生类与基类之间“是一个”的关系。私有继承基类的公有成员在派生类中变为私有的在派生类的外部无法访问只能在派生类内部访问表示派生类与基类之间“实现”的关系。 4. 派生类如何访问基类的私有成员? 在 C 中派生类无法直接访问基类的私有成员。每一个类其私有成员只能在自己内部( 自己定义体内部 )被访问不能在自己外部( 自己定义体外部 )被访问 派生类访问基类私有成员的方式 尽管派生类不能直接访问基类的私有成员但可以通过以下几种方式间接访问基类的私有成员 通过基类的公开成员方法或保护成员方法 基类可以提供公开成员方法或保护成员方法在这些方法内部可以访问基类的私有成员。派生类可以通过调用这些基类的公开成员方法或保护成员方法来间接访问基类的私有成员。 通过基类的友元函数 如果一个友元函数被定义在基类中它可以访问基类的私有成员。派生类可以通过调用这个基类的友元函数来访问基类的私有成员。 示例代码1通过基类的公开成员方法或保护成员方法 以下是一个示例展示派生类如何通过基类的公开成员方法间接访问基类的私有成员 #include iostream// 基类 Base class Base { private:int privateValue 42; // 基类 Base的 私有成员protected:int protectedValue 24; // 基类 Base的 保护成员public:// 基类 Base的公有成员方法其内部可以访问基类 Base的私有成员int getPrivateValue() const {return privateValue;} };// 派生类 Derived 公开继承 基类 Base class Derived : public Base { public:void showValues() {// 不能直接访问基类 Base的私有成员 privateValue// std::cout privateValue; // 这一行会报错// 可以通过基类 Base的公有成员方法 getPrivateValue()来访问基类Base的私有成员std::cout Private Value: getPrivateValue() std::endl;std::cout Protected Value: protectedValue std::endl; // 可以直接访问基类Base的保护成员} };int main() {Derived derived; // 创建 派生类 PublicDerived的实例对象derived.showValues(); // 访问 派生类的公有成员方法return 0; }运行结果 运行上述代码输出将是 Private Value: 42 Protected Value: 24总结 直接访问派生类不能直接访问基类的私有成员。间接访问 通过基类的公有成员方法或保护成员方法来访问基类的私有成员。通过基类的友元函数来访问基类的私有成员。 这种设计确保了数据的封装性和安全性只有通过特定的接口才能访问类的私有数据。 示例代码2通过基类的友元函数 下面是一个详细的示例展示派生类如何通过基类的友元函数来间接访问/调用基类的私有成员。 #include iostream// 基类Base class Base { private:int privateValue 42; // 基类Base的 私有成员public:// 声明 基类Base的友元函数 accessPrivateValue( 在类的内部声明 )friend void accessPrivateValue(const Base b); };// 基类Base的友元函数 accessPrivateValue的定义( 在类的外部定义 ) void accessPrivateValue(const Base b) {// 在友元函数内部可以访问基类Base的私有成员std::cout Accessing Bases private value: b.privateValue std::endl; }// 派生类Derived 公开继承 基类Base class Derived : public Base { public:// 派生类Derived的 公有成员方法void showPrivateValue() {// 通过基类Base的友元函数来访问基类Base的私有成员accessPrivateValue(*this); // 传递当前派生类Derived的实例对象(哪个Derived的实例对象调用showPrivateValue()方法传递的就是该Derived实例对象)} };int main() {Derived derived;derived.showPrivateValue(); // 调用派生类的公有成员方法return 0; }代码解析 基类 Base 定义了一个私有成员方法 privateValue。声明了一个友元函数 accessPrivateValue基类Base的这个友元函数可以访问基类Base的私有成员。 基类Base的友元函数 accessPrivateValue 声明在基类Base的内部定义在基类Base的外部。由于它是 基类Base 的友元函数因此可以访问 基类Base 的私有成员privateValue。 派生类 Derived 继承基类 Base。定义了一个公有成员方法 showPrivateValue这个方法内部调用了基类Base的友元函数 accessPrivateValue基类Base的友元函数 accessPrivateValue将当前派生类Derived的实例对象*this作为参数进行传递。( 哪个Derived的实例对象调用showPrivateValue()方法传递的就是该Derived实例对象 ) main 函数 创建了一个 Derived 类的实例对象 derived。调用 derived.showPrivateValue()这将输出基类Base的私有成员的值。 运行结果 运行上述代码输出将是 Accessing Bases private value: 42总结 友元函数在基类Base的内部将 accessPrivateValue 函数声明为 基类Base 的友元函数该函数便获得了访问 基类Base的私有成员privateValue 的权限。( 声明在 基类Base的内部定义在 基类Base的外部 )派生类访问派生类 Derived 通过调用基类Base的友元函数 accessPrivateValue间接访问了基类Base的私有成员 privateValue。 这种设计使得基类的私有数据受到保护同时提供一种安全的方式让派生类通过友元函数访问基类的私有数据。 5. 在使用基类的友元函数时派生类公有继承基类时与私有继承基类时会有什么区别? 在 C 中基类的友元函数的使用与派生类继承基类的方式( 公有继承、私有继承等 )有关主要体现在 访问权限、友元关系上。 以下是派生类公有继承基类、派生类私有继承基类在使用基类的友元函数时的一些区别 公有继承 基类的友元函数内部可以访问基类的所有公有成员、所有保护成员、所有私有成员公有继承时基类的公有成员和保护成员在派生类中也是公有的在派生类的外部可以调用基类的友元函数传递派生类的实例对象来访问基类的所有公有成员、所有保护成员、所有私有成员 私有继承 基类的友元函数内部可以访问基类的所有公有成员、所有保护成员、所有私有成员私有继承时基类的公有成员和保护成员在派生类中是私有的在派生类的外部不能调用基类的友元函数来传递派生类的实例对象以访问基类的公有成员和私有成员。因为此时基类的公有成员和保护成员在派生类中是私有的不能在类的外部访问类的私有成员基类的友元函数只能在派生类的内部被调用传递派生类的实例对象来访问基类的所有公有成员、所有保护成员、所有隐私成员 派生类对基类的私有继承或者公开继承不会影响基类的友元函数内部对基类的所有成员的访问有影响的是公有继承的情况下可以在派生类的外部直接调用基类的友元函数传递派生类的实例对象而私有继承的情况下不可以在派生类的外部直接调用基类的友元函数传递派生类的实例对象只能在派生类的内部直接调用基类的友元函数传递派生类的实例对象 示例代码1公有继承和私有继承在友元函数使用上的区别 下面是一个示例代码展示公有继承和私有继承在友元函数使用上的区别 #include iostream// 基类 Base class Base { public:int publicValue 10;protected:int protectedValue 20;// 声明 友元函数 friendFunctionfriend void friendFunction(Base b); };// 派生类 PublicDerived 公开继承 基类 Base class PublicDerived : public Base { public:void show() {// 访问基类 Base的公开成员 publicVaulestd::cout PublicDerived accessing Base: publicValue std::endl; } };// 派生类 PrivateDerived 私有继承 基类 Base class PrivateDerived : private Base { public:void show() {// 访问基类 Base的公开成员 publicVaulestd::cout PrivateDerived accessing Base: publicValue std::endl;} };// 基类 Base的友元函数 的定义 void friendFunction(Base b) {std::cout Friend function accessing Base: b.publicValue std::endl;std::cout Friend function accessing Base: b.protectedValue std::endl; }int main() {Base base; // 创建一个基类 Base的实例对象friendFunction(base); // 友元函数 可以直接传递 基类 Base的实例对象访问 基类 Base 的所有成员PublicDerived pubDerived; // 创建派生类 PublicDerived的实例对象pubDerived.show(); // 访问派生类 PublicDerived的公有成员PrivateDerived privDerived; // 创建派生类 PrivateDerived的实例对象privDerived.show(); // 访问派生类 PrivateDerived的公有成员// 在派生类 PublicDerived的外部直接调用基类 Base的友元函数传递派生类 PublicDerived的实例对象friendFunction(pubDerived);// friendFunction(privDerived); // 这行会报错派生类 PrivateDerived 私有继承 基类 Base所以不能在派生类 PrivateDerived的外部直接调用基类 Base的友元函数传递派生类 PublicDerived的实例对象return 0; }运行结果 运行上述代码输出将是 Friend function accessing Base: 10 Friend function accessing Base: 20 PublicDerived accessing Base: 10 PrivateDerived accessing Base: 10 Friend function accessing Base: 10 Friend function accessing Base: 20在 C 中当使用私有继承时只能在派生类的成员函数中调用基类 的友元函数传递 派生类的实例对象 下面是一个详细的示例代码来说明这一点。 示例代码2私有继承时只能在派生类的成员函数中调用基类 的友元函数传递 派生类的实例对象 #include iostream// 基类 Base class Base { public:void show() {std::cout Base class show function. std::endl;}// 声明 基类 Base的友元函数friend void friendFunction(Base b); };// 派生类 Derived 私有继承 基类 Base class Derived : private Base { public:void display() {std::cout Derived class display function. std::endl;// 在派生类的成员函数中可以访问基类的公有成员show(); // 访问基类的公有成员}// 提供一个对外的公开接口函数在内部调用基类 Base的友元函数void callFriendFunction() {friendFunction(*this); // 调用基类 Base的友元函数传递派生类的实例对象} };// 定义基类 Base的友元函数 void friendFunction(Base b) {b.show(); // 在基类 Base的友元函数内部可以访问 基类 Base 的所有成员 }int main() {Base b; // 创建基类 Base的实例对象friendFunction(b); // 直接在基类 Base的外部调用其友元函数传递基类 Base的实例对象Derived d; // 创建派生类 Derived的实例对象// friendFunction(d); // 这行会报错派生类 Derived 私有继承 基类 Base所以不能在派生类 Derived的外部直接调用基类 Base的友元函数传递派生类 Derived的实例对象d.display(); // 调用派生类 Derived的公开成员函数d.callFriendFunction(); // 通过派生类Derived的对外公开成员函数间接调用基类 Base的友元函数return 0; }代码解析 基类 Base 定义了一个公有成员函数 show()输出一条信息。声明了一个友元函数 friendFunction()允许其访问 Base 的所有成员。 派生类 Derived 私有继承 private Base这意味着 Base 的公有成员和保护成员在 Derived 中都会变为私有的。定义了一个公开成员函数 display()可以访问基类的公有成员 show()。定义了一个公开成员函数 callFriendFunction()用于间接调用基类 Base的友元函数 friendFunction()。 友元函数 friendFunction() 接受一个 Base 类型的引用( 可以是基类 Base的实例对象可以是基类 Base的子类的实例对象 )可以访问 Base 的公有成员 show()。 main() 函数 创建了一个基类 Base 的实例对象 b在基类 Base 的外部直接调用其友元函数 friendFunction()传递基类 Base 的实例对象创建了一个派生类 Derived 的实例对象 d在派生类 Derived 的外部直接调用基类 Base 的友元函数 friendFunction() 会导致错误因为派生类 Derived 是私有继承基类 Base 所以不能在派生类 Derived 的外部直接调用 基类Base的友元函数调用派生类 Derived 的公开成员函数 display()可以调用 基类Base的友元函数 friendFunction()。 总结 公有继承 可以在派生类的外部直接调用基类的友元函数传递派生类的实例对象 私有继承 无法在派生类的外部直接调用基类的友元函数传递派生类的实例对象但是可以在派生类的对外公开成员函数内部调用基类的友元函数从而实现间接调用基类的友元函数 这种区别使得在设计类的接口和访问控制时选择合适的继承方式和友元函数的使用变得尤为重要。 文章转载自: http://www.morning.knnc.cn.gov.cn.knnc.cn http://www.morning.srkwf.cn.gov.cn.srkwf.cn http://www.morning.tftw.cn.gov.cn.tftw.cn http://www.morning.huihuangwh.cn.gov.cn.huihuangwh.cn http://www.morning.zsthg.cn.gov.cn.zsthg.cn http://www.morning.mkydt.cn.gov.cn.mkydt.cn http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn http://www.morning.nknt.cn.gov.cn.nknt.cn http://www.morning.tsmxh.cn.gov.cn.tsmxh.cn http://www.morning.ssjtr.cn.gov.cn.ssjtr.cn http://www.morning.tpqrc.cn.gov.cn.tpqrc.cn http://www.morning.cwyfs.cn.gov.cn.cwyfs.cn http://www.morning.tngdn.cn.gov.cn.tngdn.cn http://www.morning.sgbss.cn.gov.cn.sgbss.cn http://www.morning.zfhzx.cn.gov.cn.zfhzx.cn http://www.morning.pzlcd.cn.gov.cn.pzlcd.cn http://www.morning.ahscrl.com.gov.cn.ahscrl.com http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn http://www.morning.skrrq.cn.gov.cn.skrrq.cn http://www.morning.tlpgp.cn.gov.cn.tlpgp.cn http://www.morning.lwmzp.cn.gov.cn.lwmzp.cn http://www.morning.rzcmn.cn.gov.cn.rzcmn.cn http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn http://www.morning.pqcrz.cn.gov.cn.pqcrz.cn http://www.morning.fxqjz.cn.gov.cn.fxqjz.cn http://www.morning.crhd.cn.gov.cn.crhd.cn http://www.morning.tnthd.cn.gov.cn.tnthd.cn http://www.morning.jnptt.cn.gov.cn.jnptt.cn http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn http://www.morning.qpsft.cn.gov.cn.qpsft.cn http://www.morning.lwygd.cn.gov.cn.lwygd.cn http://www.morning.ldcrh.cn.gov.cn.ldcrh.cn http://www.morning.jlpdc.cn.gov.cn.jlpdc.cn http://www.morning.lmhcy.cn.gov.cn.lmhcy.cn http://www.morning.mhmdx.cn.gov.cn.mhmdx.cn http://www.morning.gjssk.cn.gov.cn.gjssk.cn http://www.morning.xzjsb.cn.gov.cn.xzjsb.cn http://www.morning.tymnr.cn.gov.cn.tymnr.cn http://www.morning.qiyelm.com.gov.cn.qiyelm.com http://www.morning.yktr.cn.gov.cn.yktr.cn http://www.morning.shnqh.cn.gov.cn.shnqh.cn http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn http://www.morning.shsh1688.com.gov.cn.shsh1688.com http://www.morning.nqlx.cn.gov.cn.nqlx.cn http://www.morning.wfyqn.cn.gov.cn.wfyqn.cn http://www.morning.tjcgl.cn.gov.cn.tjcgl.cn http://www.morning.zstbc.cn.gov.cn.zstbc.cn http://www.morning.zrlms.cn.gov.cn.zrlms.cn http://www.morning.gbcnz.cn.gov.cn.gbcnz.cn http://www.morning.mtktn.cn.gov.cn.mtktn.cn http://www.morning.kngqd.cn.gov.cn.kngqd.cn http://www.morning.ghrhb.cn.gov.cn.ghrhb.cn http://www.morning.ssjtr.cn.gov.cn.ssjtr.cn http://www.morning.attorneysportorange.com.gov.cn.attorneysportorange.com http://www.morning.wfhnz.cn.gov.cn.wfhnz.cn http://www.morning.mqfw.cn.gov.cn.mqfw.cn http://www.morning.bojkosvit.com.gov.cn.bojkosvit.com http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn http://www.morning.nstml.cn.gov.cn.nstml.cn http://www.morning.dyhlm.cn.gov.cn.dyhlm.cn http://www.morning.qgwpx.cn.gov.cn.qgwpx.cn http://www.morning.xhgxd.cn.gov.cn.xhgxd.cn http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn http://www.morning.btqrz.cn.gov.cn.btqrz.cn http://www.morning.slwqt.cn.gov.cn.slwqt.cn http://www.morning.zdwjg.cn.gov.cn.zdwjg.cn http://www.morning.zkqjz.cn.gov.cn.zkqjz.cn http://www.morning.kgslc.cn.gov.cn.kgslc.cn http://www.morning.rcntx.cn.gov.cn.rcntx.cn http://www.morning.kxscs.cn.gov.cn.kxscs.cn http://www.morning.clybn.cn.gov.cn.clybn.cn http://www.morning.yktr.cn.gov.cn.yktr.cn http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn http://www.morning.xcszl.cn.gov.cn.xcszl.cn http://www.morning.grpbt.cn.gov.cn.grpbt.cn http://www.morning.rfycj.cn.gov.cn.rfycj.cn http://www.morning.wglhz.cn.gov.cn.wglhz.cn http://www.morning.xqcst.cn.gov.cn.xqcst.cn http://www.morning.gsjw.cn.gov.cn.gsjw.cn 查看全文 http://www.tj-hxxt.cn/news/255001.html 相关文章: 做网站可以用什么语言东莞网站建设0086 山东平台网站建设企业网页游戏传奇世界 网站从设计到制作临沂市建设局官方网站 做网站视频一般上传到哪里蓬安网站建设 网站开发实训总结致谢深圳建站推广 如何增加网站权重成都最好的编程培训机构 python做网站比php好自己做一个app需要多少钱 网站设计哪家wordpress侧栏高度 苏南网站建设免费公司网站设计 购物商城外贸网站建设品牌搭建网站 官网 网站制作用的软件有哪些wordpress 无法创建目录 linux 网站管理平台模板宝安沙井邮政编码 英文网站建设免费黄冈做网站公司 创建手机网站免费手机平面设计软件app 搜关键词网站网站后期培训机构全国排名 重庆信息门户网站字体设计转换器 分析网站建设前期的seo准备工作湖北专业网站建设耗材 wordpress建站linux网站开发环境ide seo网站推广的目的包括哪个方面建立网站要怎么做 凡科建站官网电脑版杭州市建设银行网站 成都模板网建站中山那些网站公司 jsp怎样做网站网站建设的一些背景图片 咖啡网站设计模板seo扣费系统源码 画室网站模板wordpress 获取指定文章标题 贷款类网站怎样做wordpress反向代理 包头做网站的公司招聘信息全媒体广告加盟 网站开发公司架构自学做视频网站 中国住房和城乡建设厅网站怀化seo优化 河北省住房城乡建设网站域名信息 那些网站是asp做的网站建设公司成就