C++ 类的构造函数、成员函数操作 -- 示例

类的构造函数、成员函数 --  声明、定义、使用
在C++中,Shape类可能包含一个或多个构造函数,这些构造函数用于初始化Shape对象。下面是一个Shape类的简单例子,其中包括一个构造函数的声明和定义。

声明
构造函数的声明通常出现在类的内部,作为类定义的一部分。它不包含函数体,只是告诉编译器构造函数的存在以及它的参数列表。

cpp
class Shape {  
public:  
    // 构造函数的声明  
    Shape(short color, short x, short y);  
  
    // ... 其他成员函数和访问器的声明 ...  
  
private:  
    short color; // 颜色成员变量  
    short x;     // x坐标成员变量  
    short y;     // y坐标成员变量  
};
在这个例子中,Shape类有一个公共构造函数,它接受三个short类型的参数:color、x和y。

定义
构造函数的定义(即实现)通常出现在类定义之外,但仍然在相同的源文件中,或者在类的实现文件中。它包含了构造函数的实际代码,用于初始化对象的状态。

cpp
// 构造函数的定义  
Shape::Shape(short color, short x, short y) : color(color), x(x), y(y) {  
    // 构造函数的主体可以留空,因为初始化列表已经完成了成员变量的初始化  
    // 如果需要执行其他操作,可以在这里添加代码  
}
在这个例子中,构造函数的定义使用了初始化列表来初始化成员变量color、x和y。初始化列表是一种高效的成员初始化方式,它直接在对象创建时设置成员变量的值。注意,初始化列表中的变量名称(如color(color))可能会让人困惑,因为它们与构造函数的参数同名。在初始化列表中,编译器通过查看括号内的变量类型和位置来确定是使用成员变量还是参数。通常,这种用法是安全的,但为了避免混淆,有些开发者可能会选择使用不同的命名约定。

举例
下面是一个完整的例子,展示了如何在程序中使用Shape类和它的构造函数:

cpp
#include   
  
class Shape {  
public:  
    // 构造函数的声明  
    Shape(short color, short x, short y);  
      
    // 一个简单的成员函数,用于打印Shape的信息  
    void printInfo() const;  
  
private:  
    short color; // 颜色成员变量  
    short x;     // x坐标成员变量  
    short y;     // y坐标成员变量  
};  
  
// 构造函数的定义  
Shape::Shape(short color, short x, short y) : color(color), x(x), y(y) {  
    // 构造函数体为空,因为所有初始化都在初始化列表中完成  
}  
  
// 成员函数的定义  
void Shape::printInfo() const {  
    std::cout << "Color: " << color << ", Position: (" << x << ", " << y << ")" << std::endl;  
}  
  
int main() {  
    // 创建一个Shape对象,并使用构造函数初始化它  
    Shape myShape(1, 10, 20); // 假设1代表某种颜色,10和20是坐标位置  
    // 调用成员函数打印Shape的信息  
    myShape.printInfo(); // 输出: Color: 1, Position: (10, 20)  
    return 0;  
}

你可能感兴趣的:(c++)