Ut in superiore codice ostenditur, sine ulteriori studio C++, utentes plerumque existimant codicem in conditore esse initializationem variabilium membri ordinis, sed plane contrarium est variabilis membrum. Adsignatio initialization in vero sensu dici non potest, quia initialization semel tantum initializari potest, cum fabricator valores plurium temporum variabilium membri assignare potest, exempli gratia:
Hoc tempore, initialization index in C++ introducitur. Elenchus initialization est index membrorum notitiarum ab ":" (colonia) et ab "" (comma) separatus. Unumquodque membrum variabile bracket sequitur, et valor in bracket positus est valorem initialisatum, exempli gratia :
Unumquodque membrum variabile non potest apparere nisi semel in indice initializatione (potest initialization semel tantum initialized)
Classis sequentia membra continet, quae in indice initializationi pro initializationi collocari debent:
Reference membrum variables
Consuetudine genus variabilium membrum (et ratio consuetudinis defaltam conditorem non habet: constructor parameterless, constructor plene defectus, constructor systematis automatice generantur)
const mutatio membrum variables
Consuetudo membrum variabilium supra (sine defalta constructor) significat fabricatorem membri consuetudinis definitae variabilis esse constructor cum parametris, et parametri praeteriri opus est antequam initialized possit Inscriptio initialization non est scripta, compilator automatice pro usuario generabit. Attamen, si initialization de usu membrum variabilium participationem parametri requirit, ratio parametri per defaltam non transibit, quae in uninitializatione proveniet ad evitandae uninitializationem.
1.3 Tips ad initialization album
Cum scribens initializationem indicem, ordo initialization variabilium membrorum congruere debet cum ordine declarationis in genere, quia compilator variabiles in ordine secundum ordinem declarationis initializat superfluum molestum, ut:
Cum initialized ut in figura supra demonstratum est, eventus exspectationi repugnans fiet, ideo tales operationes vitandae sunt cum utendo.
2. expressa keyword
Ad constructor, munus quoque dedicatum estuna modularis constructoror *Constructor pluribus parametris sed nullius valoris default primi parametriImplicitum genus conversionis, exempli gratia:
Cum assignando valorem transeuntem, exempli gratia;
Date date(2024);
1
In gradu compilator, 2024 non directe attribuitur objecto classis creato, sed 2024 convertitur in obiectum temporale per conversionem implicitam, et tunc attribuitur obiecti classi quod per tale obiectum debet esse initialized classis initialized est A, et obiectum temporale genus est B;
Date A(2024);
等价于
Date A = B//B的值为2024
1
2
3
Ad vitandam conversionem implicitam, C++ verba explicita creata.
explicitDate(int year):_year(year){}
1
2
3
3. sodales mi
3.1 stabilis membrum conceptu
Classis membra tamquam static declarant vocantur membra static membra ordinis. Membrum static variabile extra genus initialized oportet, exempli gratia:
Sodales stici ab omnibus obiectis classium communes sunt et ad proprium obiectum non pertinent.
Membrum static variabile extra genus definiri debet.
Classis membra static membra possunt accessed per genus nominis :: static membrum vel object.static membrum
Membrum Staticum functiones hanc monstratorem non occultant nec ulla membra non stataria accedere possunt.
Sodales static etiam membra sunt ordinis et accessus publicus, munitus, privatis qualifiers ac restringuntur.
4. Youyuan
Amici viam per encapsulationis erumpendi praebent et commodum interdum praebent. Sed amici copulationem augebunt et encapsulationem destruent, sic non semel utendum est amicis.
Amici dividuntur in: amicus munera et amicus classes
4.1 amicus munera
Amicus munus significat quod, cum munus extra genus accedere debet ad privatum genus membrum, accedere potest declarando hoc munus in genere tamquam amicus munus classis, v.gr.
Amicus munera privatis ac munitis generis membra accedere possunt, non autem membra classis
Amicus munera immutabile est cum const
Amici munera declarari possunt alicubi in definitione classium et non restricta ab accessu adiunctio classis.
Munus amicus esse potest munus multiplex classes
Principium amicum functionum vocationis idem est ac functionum ordinariarum.
4.2 amicus classes
Cum classis membra privata alterius generis accedere velit, declarare potest hoc genus amicum in eo genere quod accedendum est, et tunc ad membra privata accedere potest, v.gr.
classTime{friendclassDate;// 声明日期类为时间类的友元类,则在日期类中就直接访问Time类//中的私有成员变量public:Time(int hour =0,int minute =0,int second =0):_hour(hour),_minute(minute),_second(second){}private:int _hour;int _minute;int _second;};classDate{public:Date(int year =1900,int month =1,int day =1):_year(year),_month(month),_day(day){}voidSetTimeOfDate(int hour,int minute,int second){// 直接访问时间类私有的成员变量
_t._hour = hour;
_t._minute = minute;
_t._second = second;}private:int _year;int _month;int _day;
Time _t;};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Amicae relationes sunt unus modus et non commutativus. Exempli gratia, in memorato Classis Tempus Classis et Date Classis, si Classem Date Classem ut amicum suum in Classis Time declaras, directe accedere potes ad membrum privatum variabiles Temporis Classis in Classis Date, sed vis. accessere membrum privatum variabilium Date classium in Classis Tempus.
Amicae relatio transitiva esse non potest.
5. Internum genus
C++ subsidia creandi aliud genus intra genus, quod interius appellatur. . Exterior classis ad interiorem classem aditum superiorem non habet. Classis autem interior est naturaliter amicus exterioris, id est, classis interior accedere potest ad membra privata exterioris classis.
proprium;
Classes interiores publicas, tutas, vel privatas in externis generibus definiri possunt.
Nota quod classes interiores protinus accessere possunt membra static in exterioribus generibus sine obiecto/classis nomine classis exterioris.
sizeof (externum genus) = genus externum, nihil ad rem cum internis generibus habet.
6. conclusio
Optime tibi gratias ago pro inspicienda articulo originali meo. Articulus hic maxime adhibetur ad discendi et cognitionis communicationem. Si citare debes, inscriptione indica quaeso.