2.2.1 ÀàµÄÌØÐÔ
1. CÓïÑÔ£ºCÓïÑԵijÌÐòÓɺ¯Êý×é³É£¬Óɺ¯Êý½â¾öÎÊÌâ
2. C++£º C++³ÌÐòÓɶÔÏó×é³É£¬ÓɶÔÏó½â¾öÎÊÌ⣨¶ÔÏóµ÷Óú¯Êý½â¾öÎÊÌ⣩
½â¾öÎÊÌâµÄ²½Ö裺
´´½¨Àà---¨¤´´½¨Àà¶ÔÏó---¨¤¶ÔÏóµ÷Óú¯Êý½â¾öÎÊÌâ
C++µÄËÄ´óÌØÐÔ£º³éÏó ·â×° ¼Ì³Ð ¶à̬
2.2.2 ÀàµÄÓÉÀ´
1. CÓïÑԵĽṹÌå
1£©½á¹¹ÌåÖÐÖ»ÓÐÊý¾Ý³ÉÔ±£¬Ã»Óк¯Êý³ÉÔ±£¬½èÖúº¯ÊýÖ¸Õ룬ÔڽṹÌåÖÐÔö¼Óº¯Êý
2£©½á¹¹Ìå±äÁ¿µÄ¶¨Ò壬ͨ¹ý struct ½á¹¹ÌåÃû±äÁ¿Ãû
3£©½á¹¹Ìå±äÁ¿·ÃÎʳÉÔ±µÄ·½Ê½£º±äÁ¿Ãû.³ÉÔ±Ãû Ö¸ÕëÃû->³ÉÔ±Ãû (*Ö¸ÕëÃû).³ÉÔ±Ãû
4£©ÔڽṹÌåÍâÃæ¿ÉÒÔËæÒâ·ÃÎÊ£¬Àí½âΪ½á¹¹Ìå³ÉÔ±µÄ·ÃÎÊȨÏÞÊǹ«ÓеÄ
2. C++µÄ½á¹¹Ìå
1£©½á¹¹ÌåÖмÈÓÐÊý¾Ý³ÉÔ±£¬ÓÖÓк¯Êý³ÉÔ±£¬
2£©½á¹¹Ìå±äÁ¿µÄ¶¨Ò壬ͨ¹ý½á¹¹ÌåÃû±äÁ¿Ãû
3£©½á¹¹Ìå±äÁ¿·ÃÎʳÉÔ±µÄ·½Ê½£º±äÁ¿Ãû.³ÉÔ±Ãû Ö¸ÕëÃû->³ÉÔ±Ãû (*Ö¸ÕëÃû).³ÉÔ±Ãû
4£©ÔڽṹÌåÍâÃæ¿ÉÒÔËæÒâ·ÃÎʳÉÔ±£¬Àí½âΪ½á¹¹Ìå³ÉÔ±µÄ·ÃÎÊȨÏÞÊǹ«ÓеÄ
#include <iostream> #include <string>
using namespace std;
struct STU { //Êý¾Ý³ÉÔ± string name; int num;
//º¯Êý³ÉÔ± void setStuInformation(string str, int n) { //¸øÊý¾Ý³ÉÔ±¸³Öµ£¬Ê×ÏÈÐèÒªÅжÏÊý¾ÝÊÇ·ñ·ûºÏÒªÇó //³ÉÔ±Êý¾ÝÊÇ·ñÓз¶Î§ÒªÇó name = str; if (n < 0) { num = 0; return; } num = n; } void printInfor() { cout << "ÐÕÃû£º" << name << endl; cout << "ѧºÅ£º" << num << endl; }
};
int main() { STU std;
//½á¹¹Ìå±äÁ¿Ãû·ÃÎʺ¯Êý³ÉÔ± std.setStuInformation("ÕÅÈý",1001); std.printInfor();
//½á¹¹Ìå±äÁ¿Ãû·ÃÎÊÊý¾Ý³ÉÔ± std.name = "ÀîËÄ"; std.num = 1003;
std.printInfor();
//C++½á¹¹Ì壬¿ÉÒÔÔڽṹÌåµÄÍâÃæ·ÃÎʺ¯Êý³ÉÔ±ºÍÊý¾Ý³ÉÔ± } |
3. C++µÄÀà
1£©¼ÈÓк¯Êý³ÉÔ±£¬ÓÖÓÐÊý¾Ý³ÉÔ±
2£©½«C++½á¹¹ÌåµÄstruct¹Ø¼ü×Ö£¬Ö±½Ó»»Îªclass(¹Ø¼ü×Ö)£¬
3£©ÀàÊÇÒ»ÖÖÊý¾ÝÀàÐÍ£¬ÀàÀàÐÍ£¬ÀàÀàÐͱäÁ¿µÄ¶¨Òå(´´½¨¶ÔÏó)£¬Í¨¹ýÀàÃû±äÁ¿Ãû(¶ÔÏóÃû)
4£©¶ÔÏó·ÃÎʳÉÔ±µÄ·½Ê½£º¶ÔÏó.³ÉÔ±Ãû Ö¸ÕëÃû->³ÉÔ±Ãû (*Ö¸ÕëÃû).³ÉÔ±Ãû
5£©ÔÚÀàÍâÃæ²»¿ÉÒÔËæÒâ·ÃÎʳÉÔ±£¬ÀàÀïÃæµÄ³ÉÔ±µÄ·ÃÎÊȨĬÈÏÊÇ˽Óеģ¬Ö»ÄÜÔÚÀàµÄÄÚ²¿µÄ·ÃÎÊ¡£²»ÄÜÔÙÍⲿ·ÃÎÊ
˵Ã÷£º
µ±Ò»¸ö³ÌÐòÖмÈÓÐÊý¾Ý³ÉÔ±ÓÖÓк¯Êý³ÉÔ±µÄʱºò£¬´ËʱѡÔñʹÓÃÀàʵÏÖ£¬Èç¹ûÖ»ÓÐÊý¾Ý³ÉÔ±£¬Ñ¡ÔñʹÓýṹÌåʵÏÖ
½á¹¹ÌåÓëÀàµÄÇø±ð£¬½á¹¹ÌåĬÈϵķÃÎÊȨÏÞÊǹ«Óеģ¬ÀàĬÈϵķÃÎÊȨÏÞÊÇ˽ÓеÄ
ȨÏÞµÄÉèÖãº
public : ¹«ÓÐȨÏÞ£¬ËùÓÐÍⲿ¿ÉÒÔÖ±½Ó·ÃÎÊ
private: ˽ÓÐȨÏÞ£¬ËùÓеÄÍⲿ¶¼²»ÄÜ·ÃÎÊ£¬Ö»ÔÊÐí×Ô¼º·ÃÎÊ£¬×Ô¼ºÄÚ²¿·ÃÎÊ
protected £ºÊܱ£»¤µÄ£¬ÔÊÐí²¿·ÖÍⲿ¿ÉÒÔ·ÃÎÊ£¬¾ßÓÐÇ×ÔµµÄ¹Øϵ¿ÉÒÔ·ÃÎÊ
#include <iostream> #include <string>
using namespace std;
class STU //(ÀàÃû) { public: //Êý¾Ý³ÉÔ± string name; int num;
//º¯Êý³ÉÔ± void setStuInformation(string str, int n) { //¸øÊý¾Ý³ÉÔ±¸³Öµ£¬Ê×ÏÈÐèÒªÅжÏÊý¾ÝÊÇ·ñ·ûºÏÒªÇó //³ÉÔ±Êý¾ÝÊÇ·ñÓз¶Î§ÒªÇó name = str; //ÔÚÀàµÄÄÚ²¿·ÃÎÊÊý¾Ý³ÉÔ± if (n < 0) { num = 0; return; } num = n; } void printInfor() { cout << "ÐÕÃû£º" << name << endl; cout << "ѧºÅ£º" << num << endl; }
}; //ÀàµÄÍâÃæ±ØÐëÓзֺÅ
int main() { STU std; //´´½¨STUÀà¶ÔÏóstd£¬»òÕß´´½¨STUÀàÀàÐ͵ıäÁ¿std
//¶ÔÏó·ÃÎʳÉÔ±µÄ·½Ê½£º¶ÔÏóÃû.³ÉÔ±Ãû //¶ÔÏó·ÃÎʺ¯Êý³ÉÔ± std.setStuInformation("ÕÅÈý", 1001); std.printInfor();
//¶ÔÏóÃû·ÃÎÊÊý¾Ý³ÉÔ± std.name = "ÀîËÄ"; std.num = 1003;
std.printInfor(); } |
2.2.3 ÀàµÄÉùÃ÷¸ñʽ
1.ÉùÃ÷¸ñʽ
class ÀàÃû { private: //˽ÓÐÊý¾Ý³ÉÔ±ºÍº¯Êý³ÉÔ± protected: //Êܱ£»¤Êý¾Ý³ÉÔ±ºÍº¯Êý³ÉÔ± public: //¹«ÓеÄÊý¾Ý³ÉÔ±ºÍº¯ÊýÊý¾Ý
}; //·ÖºÅ²»ÄÜÊ¡ÂÔ |
ÀàÃû£ºÒ»°ã²ÉÓôóд(µ¥´ÊÊ××Öĸ´óд£¬ÆäËû×ÖĸСд)£¬±êʶ·ûµÄÃüÃû¹æÔò£¬¸ú±äÁ¿ÃûÇø·Ö
2.2.4 ÀàµÄ¶¨Òå
1. ÀࣺÊý¾Ý³ÉÔ±-------->˽Óл¯£¬
º¯Êý³ÉÔ±-------->¹«Óл¯£¬Í¨¹ýÌṩµÄº¯Êý³ÉÔ±¼ä½Ó¶ÔÊý¾Ý³ÉÔ±½øÐжÁд²Ù×÷
2. ˵Ã÷£ºÀඨÒåÍê³É£¬×Ô¶¨ÒåÊý¾ÝÀàÐÍ´´½¨Íê³É£¬ÏµÍ³²»»áΪÆä·ÖÅäÄÚ´æ¿Õ¼ä£¬Ö»Óд´½¨¸ÃÀàµÄ¶ÔÏó²Å»á·ÖÅäÄÚ´æ¿Õ¼ä
2. ÀàµÄ¶¨Òåʵ¼ÊÉÏÊdzÉÔ±º¯ÊýµÄ¶¨Ò壬³ÉÔ±º¯ÊýµÄ¶¨ÒåÓÐÁ½ÖÖ·½Ê½
1)ÔÚÀàµÄÄÚ²¿¶¨Òå³ÉÔ±º¯Êý£¬´úÂë¶ÌС£¬´Ëʱ³ÉԱĬÈÏΪÄÚÁªº¯Êý
class ÀàÃû { public: º¯Êý·µ»ØÖµÀàÐÍ º¯ÊýÃû(²ÎÊýÁбí) { º¯ÊýÌå; } }; |
2£©ÔÚÀàµÄÍⲿ¶¨Òå³ÉÔ±º¯Êý£¬ÔÚÀàµÄÄÚ²¿½øÐÐÉùÃ÷£¬Ò»°ã²ÉÓÃÔÚÀàÍⶨÒå
class ÀàÃû { public: º¯Êý·µ»ØÖµÀàÐÍ º¯ÊýÃû(²ÎÊýÁбí); }; int main() {
} º¯Êý·µ»ØÖµÀàÐÍ ÀàÃû::º¯ÊýÃû(²ÎÊýÁбí) { º¯ÊýÌå; } |
2.3 ³ÉÔ±·ÃÎÊȨÏÞ
1. ³ÉÔ±·ÃÎÊȨÏÞÊÇÕë¶ÔËÉèÖã¿
ÊÇÕë¶ÔÓÚÀàµÄÍⲿÉèÖã¬Íⲿ·ÃÎÊÀàÄÚ²¿µÄ³ÉÔ±ÐèÒª¾¹ý·ÃÎÊȨÏÞ£¬×Ô¼º·ÃÎÊ×Ô¼º²»ÐèҪȨÏÞ
2. ³ÉÔ±·ÃÎÊȨÏ޵ķÖÀࣿ
public : ¹«ÓÐȨÏÞ£¬ËùÓÐÍⲿ¿ÉÒÔÖ±½Ó·ÃÎÊ
private: ˽ÓÐȨÏÞ£¬ËùÓеÄÍⲿ¶¼²»ÄÜ·ÃÎÊ£¬Ö»ÔÊÐí×Ô¼º·ÃÎÊ£¬×Ô¼ºÄÚ²¿·ÃÎÊ
protected £ºÊܱ£»¤µÄ£¬ÔÊÐí²¿·ÖÍⲿ¿ÉÒÔ·ÃÎÊ£¬¾ßÓÐÇ×ÔµµÄ¹Øϵ¿ÉÒÔ·ÃÎÊ£¬×ÓÀà·ÃÎʸ¸ÀàµÄ³ÉÔ±
3. ³ÉÔ±·ÃÎÊȨÏ޵ķ¶Î§£¿
´ÓaaaȨÏÞµ½bbbȨÏÞ£¬ÖмäÊôÓÚaaaȨÏ޵ķ¶Î§
1. ³ÉÔ±·ÃÎÊÑ¡ÔñµÄ×÷Óã¿
ÉèÖÃȨÏÞµÄÄ¿µÄ£¬Íⲿ²»¿ÉÒÔËæÒâ·ÃÎÊ£¬¾¹ýȨÏÞµÄÔËÐвÅÄÜ·ÃÎÊ£¬Ìá¸ßÊý¾ÝµÄ·ÃÎÊ°²È«
2.4 ¶ÔÏó
2.1.1 ¶ÔÏóµÄ¶¨Òå
ÀàÃû¶ÔÏóÃû;
Àà---------¨¤ÀàÀàÐÍ--¨¤Êý¾ÝÀàÐÍ
¶ÔÏó------¨¤±äÁ¿
#include <iostream>
using namespace std;
class Point { private: int x; int y; public: //ÔÚÀàµÄÄÚ²¿¶¨Òå³ÉÔ±º¯Êý void showPoint() { cout << "(" << x << "," << y << ")" << endl; } //ÔÚÀàµÄÍⲿ¶¨Òå³ÉÔ±º¯Êý //ÔÚÀàµÄÄÚ²¿ÉùÃ÷ void setPoint(int xp = 0, int yp = 0); }; Point b; //È«¾Ö¶ÔÏ󣬳ÉÔ±µÄĬÈÏֵΪ0 int main() { Point a; //´´½¨PointÀàµÄ¶ÔÏóa Point b; //¾Ö²¿¶ÔÏó(±äÁ¿)£¬³ÉÔ±µÄĬÈÏÖµËæ»úÖµ
//¶ÔÏó·ÃÎʳÉÔ± a.setPoint(10, 30); a.showPoint();
b.showPoint(); //ÓÅÏȾֲ¿±äÁ¿(¶ÔÏó) ::b.showPoint(); //È«¾Ö¶ÔÏó }
void Point::setPoint(int xp, int yp) { if (xp < 0 || yp < 0) { x = 0; y = 0; return; } x = xp; y = yp; } |
2.1.2 ¶ÔÏóËùÕ¼¿Õ¼ä´óС
¶ÔÏóËùÕ¼¿Õ¼ä´óСÊÇËùÓеÄÊý¾Ý³ÉÔ±ËùÕ¼µÄ¿Õ¼ä(¾²Ì¬Êý¾Ý³ÉÔ±£¬Ôò²»¼ÆËãÔÚÄÚ)£¬¼ÆË㷽ʽ¸ú½á¹¹ÌåËùÕ¼µÄ¿Õ¼ä´óС¼ÆË㷽ʽһÑù¡£ËùÓеĶÔÏó¹²Í¬Ê¹ÓÃÒ»·Ýº¯Êý³ÉÔ±£¬ËùÓеĶÔÏó¶¼ÓÐ×Ô¼ºµÄÊý¾Ý³ÉÔ±¿Õ¼ä
2.1.3 ¶ÔÏóµÄ×÷ÓÃÓò£¬¿É¼ûÓòºÍÉú´æÖÜÆÚ
¶ÔÏó----¨¤±äÁ¿
¶ÔÏóµÄ×÷ÓÃÓò¡¢¿É¼ûÓòºÍÉú´æÖÜÆÚÓëÆÕͨ±äÁ¿£¬ÈçintÐͱäÁ¿µÄ×÷ÓÃÓò¡¢¿É¼ûÓòºÍÉú´æÖÜÆÚ²¢ÎÞ²»Í¬£¬¶ÔÏóͬÑùÓоֲ¿¡¢È«¾ÖºÍÀàÄÚ£¨ÉÔºó¾Í½«¶ÔÏó³ÉÔ±½øÐнéÉÜ£©Ö®·Ö£¬¶ÔÓÚÔÚ´úÂë¿éÖÐÉùÃ÷µÄ¾Ö²¿¶ÔÏó£¬ÔÚ´úÂë¿éÖ´ÐнáÊøÍ˳öʱ£¬¶ÔÏó»á±»×Ô¶¯³·Ïú£¬¶ÔÓ¦µÄÄÚ´æ»á×Ô¶¯ÊÍ·Å£¨µ±È»£¬Èç¹û¶ÔÏóµÄ³ÉÔ±º¯ÊýÖÐʹÓÃÁËnew»òmallocÉêÇëÁ˶¯Ì¬Äڴ棬ȴûÓÐʹÓÃdelete»òfreeÃüÁîÊÍ·Å£¬¶ÔÏó³·Ïúʱ£¬Õⲿ·Ö¶¯Ì¬ÄÚ´æ²»»á×Ô¶¯ÊÍ·Å£¬Ôì³ÉÄÚ´æй¶£©¡£
¸ù¾Ýµ÷ÊÔ£¬²é¿´Í¬Ò»¸öÀàµÄ²»Í¬¶ÔÏóµÄÊý¾Ý³ÉÔ±ºÍº¯Êý³ÉÔ±ÔÚÄÚ´æÖеĵØÖ··ÖÅäÇé¿ö¡£½áÂÛ£º³ÉÔ±±äÁ¿Õ¼¾Ý²»Í¬µÄÄÚ´æÇøÓò(¶Ñ¡¢Õ»)£»³ÉÔ±º¯Êý¹²ÓÃͬһÄÚ´æÇøÓò(´úÂë¶Î)¡£