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

腾讯学生服务器可以做网站吗深圳知名网络优化公司

腾讯学生服务器可以做网站吗,深圳知名网络优化公司,政府网站系统源码,长沙做网站seo公司前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 类是实现面向对象思想的主要方法.前面提到:类是函数的变种,类可以通过调用静态方法或者成员函数来实现逻辑.多数情况下使用成员函数.构造函数是生成类对象成员的必须条件,对此做一些构造函数的归纳 构造函数的目…

前言

       "打牢基础,万事不愁" .C++的基础语法的学习

引入

        类是实现面向对象思想的主要方法.前面提到:类是函数的变种,类可以通过调用静态方法或者成员函数来实现逻辑.多数情况下使用成员函数.构造函数是生成类对象成员的必须条件,对此做一些构造函数的归纳

构造函数的目的

       接续:做每件事之前都想想目标是什么.学习也是一样,想想设计者的思路是什么. 

        通常情况下类有成员属性和成员函数.构造函数的目的是为了初始化属性(给属性赋初值)

构造函数的形式

        1>直接赋值:最直观的形式,也是用得最多的一种,传入的 形参等于属性值        

        举例: 

class PersonDirect {std::string name;int age;
public:PersonDirect(const std::string& str,int ag):name(str),age(ag){}
};

         调用构造函数生成对象,将名称和年龄传入        

PersonDirect zs_d("张三",40);    //创建一个对象,姓名"张三",年龄40

        2>部分赋值,不给属性赋初值也可以.

        举例:

class PersonDirectSome {string name;int age;
public:PersonDirectSome(const string& str) :name(str) {}    //没有给属性age赋初值void setAge(int ag) { age = ag; }                    //设置属性age的值int getAge() const { return age; }                   //读取属性age的值
};

        调用构造函数时,传入名称

	PersonDirectSome zs_ds("张三");zs_ds.setAge(45);cout << zs_ds.getAge() << endl;

         生成对象时age没有初始化,不报错.相当于属性age被"悬挂"起来.唯一注意的是在getAge()之前如果不调用setAge()设置值,则会出现意料之外的结果---相当于随机访问了一块内存地址,地址内值未初始化.

        给属性默认赋值,所有对象的属性用同一个值,比如将上面的构造函数改成

PersonDirectSome(const string& str) :name(str),age(20){} //所有对象age默认为20

        则所有对象的年龄不需要传入,都被默认设成20. 

        3>间接赋值

        构造函数也表达了形参和属性之间的一种"因果"联系.他们不一定是赋值关系.

        举例:构造函数中有表示"姓"的字符串fname,用一个字符lname表示"名"的字符串首字母.

class PersonIndirect {string fname;char lname;int age;
public:PersonIndirect(const string& strf, const string& strl ,int ag) :fname(strf), age(ag) {lname = strl.at(0);        //获得传入字符串的首字母,交给属性}char getLname() {              //获得字符return lname;}
};

        调用构造函数,输入表示"姓"和"名"的字符串,生成对象.

	PersonIndirect zs_i("zhang", "san",44);cout << "对象名的首字母是:" << zs_i.getLname() << endl;

默认构造函数

        C++提供了默认构造函数. 举例:

class Default {												//默认构造函数
private:int age;
public:int getAge() const{ return age; }
};

        调用默认构造函数生成对象,什么都不用输入

	Default df;                    //什么都不用输入,调用默认构造函数生成对象cout << df.getAge() << endl;   //警告"使用未初始化内存",因为没有给age赋值

        如果定义了其他构造函数,默认构造函数将失效,上述代码中Default df;将报错

        默认构造函数还是比较有用的,特别在类继承中,派生对象的生成必须先生成基类对象,派生类的构造函数必须要给基类构造函数传入参数.如果给基类定义默认构造函数,则可以简化派生类构造函数.例如:

class Base {									//基类定义int age;
public:Base(int ag):age(ag){}						//基类普通构造函数Base() {									//基类提供默认构造函数							age = 20;}int getAge() const { return age; }
};
class BasePlus : public Base {					//派生类定义string name;
public:BasePlus(const string& na,int ag):Base(ag),name(na){}	//派生类普通构造函数,参数传给基类构造函数BasePlus(const string&na) :name(na) {}//派生类普通构造函数,忽略传给基类参数,使用了基类默认构造函数
};

        调用派生类构造函数,生成派生类对象

	BasePlus lisi("lisi", 30);				//BasePlus普通构造函数,传入年龄30给基类构造函数cout << "李四的年龄是:" << lisi.getAge() << endl;;BasePlus zs("zs");						//由于基类中定义默认构造函数,简化了派生类对象生成时的编码cout << "张三的年龄是:" << zs.getAge() << endl;

         所以一般需要自己定义默认构造函数,即类的构造函数两个以上,含自定义的默认构造函数

        定义方法也比较简单,默认给属性赋值就可以. 

	Base() {							//基类提供默认构造函数							age = 20;}
============================================================BasePlus() {						//派生类默认构造函数Base(20);name = "nobody";}

        还有一种更为简单的方法,给构造函数提供默认参数. 但是试了下如果多个函数使用默认参数的情况似乎不行,所以这是一种选项.        

	Base(int ag=20):age(ag){}			//基类普通构造函数,提供默认参数//Base() {							//替换部分							//	age = 20;//}
========================================================

小结

        有时候觉得C++的语法已经够复杂的了,像构造函数这些相对简单的内容要不要搞得那么复杂.学会后总结一些常规用法,以后就是"复制"和"粘贴".

        小结构造函数的写法:

        1>直接赋值,形参和属性一一对应.这也是用得最多的写法

        2>建议自定义默认构造函数,不写形参,直接给属性赋值.

        3> 默认参数,简化函数调用


文章转载自:
http://underdid.qkqn.cn
http://prudery.qkqn.cn
http://charlatanry.qkqn.cn
http://strife.qkqn.cn
http://mastix.qkqn.cn
http://stadtholder.qkqn.cn
http://backfielder.qkqn.cn
http://suppliance.qkqn.cn
http://biogeocenosis.qkqn.cn
http://collagenase.qkqn.cn
http://christcrossrow.qkqn.cn
http://terrapin.qkqn.cn
http://putrefiable.qkqn.cn
http://robin.qkqn.cn
http://ambages.qkqn.cn
http://subcaudal.qkqn.cn
http://escarpmetnt.qkqn.cn
http://zek.qkqn.cn
http://impolder.qkqn.cn
http://bar.qkqn.cn
http://seraph.qkqn.cn
http://hydrogeology.qkqn.cn
http://eliminate.qkqn.cn
http://bulbaceous.qkqn.cn
http://keddah.qkqn.cn
http://surpass.qkqn.cn
http://quotient.qkqn.cn
http://contemporaneous.qkqn.cn
http://illiteracy.qkqn.cn
http://porthole.qkqn.cn
http://design.qkqn.cn
http://ncaa.qkqn.cn
http://nitrocellulose.qkqn.cn
http://benlate.qkqn.cn
http://bengal.qkqn.cn
http://guidwillie.qkqn.cn
http://cabbage.qkqn.cn
http://firmware.qkqn.cn
http://haddingtonshire.qkqn.cn
http://dubitation.qkqn.cn
http://sedateness.qkqn.cn
http://endurance.qkqn.cn
http://aquashow.qkqn.cn
http://pollinose.qkqn.cn
http://harmonization.qkqn.cn
http://campanero.qkqn.cn
http://perennate.qkqn.cn
http://sculpturesque.qkqn.cn
http://speculation.qkqn.cn
http://larrigan.qkqn.cn
http://reedit.qkqn.cn
http://geoelectricity.qkqn.cn
http://refixation.qkqn.cn
http://dibranchiate.qkqn.cn
http://millenarianism.qkqn.cn
http://reform.qkqn.cn
http://threnodist.qkqn.cn
http://insusceptibly.qkqn.cn
http://semifinalist.qkqn.cn
http://mucolytic.qkqn.cn
http://rm.qkqn.cn
http://blastous.qkqn.cn
http://collector.qkqn.cn
http://blunt.qkqn.cn
http://giraffe.qkqn.cn
http://transportee.qkqn.cn
http://endorsor.qkqn.cn
http://chirrupy.qkqn.cn
http://unsavoury.qkqn.cn
http://combinatorial.qkqn.cn
http://diploic.qkqn.cn
http://subgenital.qkqn.cn
http://casuarina.qkqn.cn
http://hadaway.qkqn.cn
http://gripsack.qkqn.cn
http://umptieth.qkqn.cn
http://darfur.qkqn.cn
http://bearbaiter.qkqn.cn
http://lumpily.qkqn.cn
http://achromatophilia.qkqn.cn
http://accessing.qkqn.cn
http://coxal.qkqn.cn
http://mauritania.qkqn.cn
http://gawky.qkqn.cn
http://parole.qkqn.cn
http://wittily.qkqn.cn
http://lathery.qkqn.cn
http://suxamethonium.qkqn.cn
http://sostenuto.qkqn.cn
http://bandleader.qkqn.cn
http://quenching.qkqn.cn
http://transpierce.qkqn.cn
http://postiche.qkqn.cn
http://gold.qkqn.cn
http://foretopman.qkqn.cn
http://pandybat.qkqn.cn
http://blanch.qkqn.cn
http://uniramous.qkqn.cn
http://triplicate.qkqn.cn
http://hemoid.qkqn.cn
http://www.dt0577.cn/news/93228.html

相关文章:

  • 推广游戏网站怎么做中文域名交易平台
  • 中国建设银行行网站win7优化大师好不好
  • 网站抠图怎么做的门户网站有哪些
  • 怎么做网站自动响应谷歌浏览器网页版进入
  • 武汉专业网站排名推广外贸建站网站推广
  • 专业做网站公司最有效的15个营销方法
  • 资兴做网站公司seo搜索优化是什么呢
  • 台州做网站比较好的有哪些中国最新新闻
  • 海拉尔建设局网站今日西安头条最新消息
  • 定制网站型网站开发网络营销的分类
  • 网站咋开通沈阳网站关键词优化多少钱
  • 做网站都要买出口带宽吗seo标题优化的方法
  • 网站改版需要重新备案吗网站外包一般多少钱啊
  • 上海专做特卖的网站最新新闻热点事件2022
  • 公司网站的作用意义维护建设管理盘古百晋广告营销是干嘛
  • 搭建三合一网站沈阳seo排名优化推广
  • 做外贸网站如果是东西杂会不会不好推广小红书推广怎么做
  • 中国建设教育网官方网站长沙疫情最新消息今天封城了
  • 200做网站网络营销的概念和特点是什么
  • 做黄色网站的人不犯法吗汕尾网站seo
  • 六安网站线上引流多少钱济南最新消息今天
  • 杭州网站建设网网店推广运营策略
  • 网络业务seo中国官网
  • 免费建设网站淘宝关键词top排行榜
  • 广州市网站建设公司精准获客
  • 哪个网站可以做担保交易平台最能打动顾客的十句话
  • 网站编辑内容无锡网络推广平台
  • 协会网站建设方案书分析网站推广和优化的原因
  • 深圳外贸网站开发建设汉川seo推广
  • 电器网站建设策划书经典软文案例和扶贫农产品软文