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

制作网站公司多少钱seo优化分析

制作网站公司多少钱,seo优化分析,网站如何做优化,使用vue做的商城网站初始化列表 首先看传统的初始化 Person(int a, int b, int c){m_A a;m_B b;m_C c;}再看初始化列表的方式来初始化属性 class Person { public: //初始化列表初始化属性 Person(int a, int b, int c) : m_A(a), m_B(b), m_C(c) { } int m_A; int m_B; int m_C; …

初始化列表

  • 首先看传统的初始化
Person(int a, int b, int c){m_A = a;m_B = b;m_C = c;}
  • 再看初始化列表的方式来初始化属性
class Person  
{  
public:  //初始化列表初始化属性  Person(int a, int b, int c) : m_A(a), m_B(b), m_C(c)  {  }  int m_A;  int m_B;  int m_C;  
};
  • 这个代码表示Person这个构造函数接受abc三个变量,分别把它们赋值给m_A,m_B,m_C

类对象作为类成员

  • 这个涉及到的问题是构造函数和析构函数的调用顺序问题:
  • 结论:当一个类中的成员变量是另外一个类的时候,会先调用成员变量中另一个类的构造函数,再调用它本身的构造函数。析构函数则是相反的顺序.
  • 下面看例子
    这是一个C++的代码,我们创建了一个人类,里面的成员变量包括人的名字和它的手机名字
//人类  
class Person  
{  
public:  Person(string name, string P_Name) : m_Name(name), m_Phone(P_Name)  {  cout << "人类构造函数的调用" << endl;  }  ~Person()  {  cout << "人类析构函数的调用" << endl;  }  //姓名  string m_Name;  //手机名  Phone m_Phone;  
};
  • 所以呢,我们还要创建一个手机类,里面封装着手机的品牌名称
//手机类  
class Phone  
{  
public:  Phone(string name) : m_Name(name)  {  cout << "手机类构造函数的调用" << endl;  }  ~Phone()  {  cout << "手机类析构函数的调用" << endl;  }  //手机品牌名称  string m_Name;  
};
  • 最后的运行结果为:
手机类构造函数的调用
人类构造函数的调用
张三拿着华为
人类析构函数的调用
手机类析构函数的调用进程已结束,退出代码为 0
  • 由此印证了结论

静态成员变量

  • 静态成员变量的三个特性:
    1 静态成员变量在编译阶段就分配内存了
    2 静态成员变量不属于任何一个对象由所有对象共享
    3 静态成员变量在类内声明在类外初始化
    注意 静态成员变量也是有访问权限的

this 指针的 使用

解决同名冲突

class Person
{
public:Person(int age){//this指向被调用的成员函数所属的对象this->age = age;}Person AddPerson(Person & p){this->age += p.age;return *this;}int age;
};
void test01()
{Person p1(18);cout << "p1 的年龄为:  " << p1.age << endl;
}int main()
{test01();return 0;
}
  • 如果没有this,打印的结果不会是18,因为存在同名冲突age并没有赋值给成员变量age,加了this之后才可以。

返回值为* *this

class Person
{
public:Person(int age){//this指向被调用的成员函数所属的对象this->age = age;}Person AddPerson(Person & p){this->age += p.age;return *this;}int age;
};//2.返回对象本身用*this
void test02()
{Person p1(10);Person p2(10);//链式编程思想p2.AddPerson(p1).AddPerson(p1);cout << "p2的年龄为:" << p2.age<< endl;
}
int main()
{
//    test01();test02();return 0;
}
  • 注意函数返回的不是p2本身。每次返回都是一个新的对象,所以没有叠加
  • 如果返回的形式为Person&那么返回的就是它本事,利用链式的特性可以进行叠加

常函数与常对象

#include <iostream>
using namespace  std;
class Person
{
public://this指针的本质 是指针常量 指针的指向是不可以修改的//const Person * cosnt this//在成员函数后面加const,修饰的是this指向,让指针指向的值也不可以修改void showPerson() const//加上这个const之后,this指针指向的值也不可以修改了{this->m_B = 100;//this->m_A = 100;//this = NULL; //this指针不可以修改指针的指向}void func(){}int m_A;mutable int m_B;//特殊变量,即使在常函数中,也可以修改这个值
};
void test01()
{Person p;p.showPerson();
}
void test02()
{const Person p;//p.m_A = 200;p.m_B = 300;//m_B是特殊值,在常对象下也可以修改//常对象只能调用常函数p.showPerson();//p.func(); //常对象 不可以调用普通成员函数
}
int main()
{return 0;
}
  • 在上述代码中,我们可以得出如下结论:
  • 1 this指针不可以修改它的指向但是可以修改它指向的值
  • 2 在成员函数后面加上const修饰的this指针指向的值,此时this指向的值不可以修改,这就是为什么在常量函数中不可以修改m_A的值,却可以修改特殊类型m_B的值。
  • 特殊类型为:mutable
  • 3 常对象只能调用被const修饰的常函数而不可以调用普通函数,所以在test02中调用p.func()会报错。而调用showPerson这个常函数却不会报错。

友元

全局函数做友元

  • 写法在类的开头加上frien “你要作为友元的全局函数的声明”
  • 请看如下代码:
#include <iostream>
#include <string>
using namespace std;class Building
{friend void goodGay(Building * building);
public:Building(){m_SittingRoom = "客厅";m_BedRoom = "卧室";}
public:string m_SittingRoom;
private:string m_BedRoom;//卧室
};
//全局函数
void goodGay(Building * building)
{cout << "好基友全局函数正在访问:" << building->m_SittingRoom << endl;cout << "好基友全局函数正在访问:" << building->m_BedRoom << endl;
}
void test01()
{Building building;goodGay(&building);
}
int main()
{test01();system("pause");return 0;
}
```cpp
  • 在声明了goodGay这个函数为友元后,它作为特殊的全局变量就可以访问类中的私有成员变量了。

类做友元

http://www.dtcms.com/wzjs/95136.html

相关文章:

  • 苏州吴中区做网站价格一键生成原创文案
  • 免费购物网站建设数据分析师培训需要多少钱
  • 电子商务网站建设成都做互联网项目怎么推广
  • 动漫制作专业的学校镇江关键字优化公司
  • 汕头市营商环境建设监督局网站网站宣传文案
  • 新发布手机万秀服务不错的seo推广
  • 阜阳做网站有吗seo营销专员
  • qq引流推广软件哪个好seo百度快速排名
  • 北京网站优化推广seo搜索引擎优化方案
  • rails 开发的网站开发网络营销案例有哪些
  • 网站建设 系统维护软文推广怎么写
  • 一个网站的上线流程苏州关键词排名系统
  • 百度竞价推广方案范文曹操论坛seo
  • 竞价网站同时做优化可以吗百度广告投放平台叫什么
  • 政务中心网站自身建设拉新推广怎么做
  • 潜江资讯网免费发布武汉seo网站管理
  • 太原论坛建站模板天津关键词优化专家
  • 软件开发工程师报考条件深圳网站关键词优化公司
  • 梦幻西游网页版下载seo查询站长工具
  • 在洪雅网站做企业招聘如何提升网站seo排名
  • 招聘网站分析报告怎么做网站建设开发公司
  • 图书管理系统网站开发北京推广优化经理
  • 渭南哪里做网站销售新人怎么找客户
  • 北京网页设计设计培训windows优化大师官方
  • 网站文章页图片不显示seo人员是什么意思
  • 大型网站css百度搜索排名优化
  • 商务网站建设的基本流程公司如何做网络推广营销
  • 无锡建设网站的公司seo优化技术招聘
  • 杭州响应式网站怎么自己制作网页
  • 网站描述样本2023第三波疫情已经到来了