学习C++ – C++引用变量 C++引用是作为先前定义的变量的替代名称的名称。 例如,如果您使Bob成为Robert变量的引用,则可以互换使用Bob和Robert。 引用变量的主要用途是作为函数的形式参数。 如果使用引用作为参数,则该函数与原始数据而不是副本一起使用。 引用提供了一个方便的替代方法,用于处理具有函数的大型结构的指针。 创建引用变量 C和C++使用&符号来表示变量的地址。 C++使用&符号来声明引用。 例如,要使罗伯特成为变量的替代名称,您可以执行以下操作: int bob; int & robert = bob; // makes robert an alias for bob 在这种情况下,&不是地址运算符。 相反,它作为类型标识符的一部分。 int& 表示引用到内部。 参考声明允许您互换使用bob和robert。 两者都是指相同的值和相同的内存位置。 #include <iostream> using namespace std; int main(){ int bob = 101; int & robert = bob; // robert is a reference cout << "bob = " << bob; cout << ", robert = " << robert << endl; robert++; cout << "bob = " << bob; cout << ", robert = " << robert << endl; cout << "bob address = " << &bob; cout << ", robert address = " << &robert << endl; return 0; } 上面的代码生成以下结果。 注意 & 在下面的代码中声明一个引用类型变量。 int & robert = bob; &运算符在下一个语句中是地址运算符:...
学习C++ – C++类 C++关键字类将代码标识为定义类的设计。 语法将Product标识为此类的类型名称。 设计类的第一步是提供类声明。 语法 类声明在声明之后被编码,并且可以包括数据成员和函数成员。 声明有一个私有部分,在该部分中声明的成员只能通过成员函数访问。 声明还有一个公共部分,声明的成员可以使用类对象直接由程序访问。 通常,数据成员进入私有部分,成员函数进入公共部分。 典型的类声明有这种形式。 class className { private: data member declarations public: member function prototypes }; 公共部分的内容构成了设计的抽象部分,公共接口。 在私有部分中封装数据保护数据的完整性,并称为数据隐藏。 类设计的第二步是实现类成员函数。 以下代码显示了如何使用成员函数定义类。 #include <iostream> using namespace std; class Printer { public: // function that displays a welcome message to the Printer user void displayMessage() { cout << "Welcome to the Grade Book!" << endl; } }; int main() { Printer myPrinter; // create a Printer object named myPrinter myPrinter.displayMessage(); // call object"s displayMessage function } 上面的代码生成以下结果。 带参数的成员函数 以下代码显示了如何使用具有参数的成员函数定义类打印机,创建一个Printer对象并调用其displayMessage函数。 #include <iostream> #include <string> using namespace std; class Printer { public: void displayMessage( string courseName ) { cout << "Welcome to the grade book for\n" << courseName << "!" << endl; } }; // function main...
学习C++ – C++构造函数 类构造函数是类中的一种特殊类型的函数。 当定义类的新实例时调用构造函数。 它在创建新对象时初始化,并确保数据成员包含有效值。 类构造函数与类具有相同的名称。 Box(),例如是Box类的构造函数。 构造函数不返回值,因此没有返回类型。 如果您没有为类定义构造函数,编译器将提供默认构造函数。 用new对象初始化 一般来说,如果Class_name是一个类,如果value的类型为Type_name,则该语句 Class_name * pclass = new Class_name (value); 调用此构造函数: Class_name (Type_name); 可能有微小的转换,例如: Class_name(const Type_name &); 例子 实例化MyBook类的多个对象,并使用MyBook构造函数指定每个MyBook对象创建时的课程名称。 #include <iostream> #include <string> using namespace std; class MyBook { public: // constructor initializes courseName with string supplied as argument MyBook( string name ) { setCourseName( name ); // call set function to initialize courseName } // function to set the course name void setCourseName( string name ) { courseName = name; // store the course name in the object } // function to get the course name string getCourseName() { return courseName; // return object"s courseName } // display a welcome message to the MyBook user void displayMessage() { // call...
学习C++ – C++关系运算符 C++提供了六个关系运算符来比较数字。 运算符 含义 < 小于 <= 小于或等于 == 等于 > 大于 >= 大于或等于 != 不等于 例子 字符串类字符串的比较 #include <iostream> #include <string> // string class int main() { using namespace std; string word = "?ate"; for (char ch = "a"; word != "mate"; ch++) { cout << word << endl; word[0] = ch; } cout << "After loop ends, word is " << word << endl; // cin.get(); return 0; } 上面的代码生成以下结果。 例2 使用if语句,关系运算符和等式运算符比较整数。 #include <iostream> // allows program to perform input and output using std::cout; // program uses cout using std::cin; // program uses cin using std::endl; // program uses endl int main() { int number1; // first integer to compare int number2; // second integer to...