c++写一个代码,定义基本数据类型和组合数据类型,以及类的生成,并输出
时间: 2024-10-08 19:04:35 浏览: 22
在C++中,我们可以创建基本数据类型(如整数、浮点数、字符等)和复合数据类型(如数组、结构体、类)。这里是一个简单的例子:
首先,我们定义一些基本数据类型的变量:
```cpp
// 定义基本数据类型
int integerValue = 5; // 整型
float floatValue = 3.14f; // 浮点型
char characterValue = 'A'; // 字符型
// 输出基本数据类型
cout << "Integer Value: " << integerValue << endl;
cout << "Float Value: " << floatValue << endl;
cout << "Character Value: " << characterValue << endl;
```
接下来,我们定义一个组合数据类型——数组:
```cpp
// 定义数组
int arrayValues[5] = {1, 2, 3, 4, 5}; // 整型数组
for (int i = 0; i < 5; i++) {
cout << "Array Value at index " << i << ": " << arrayValues[i] << endl;
}
```
然后,我们创建一个自定义的简单类(比如一个学生类):
```cpp
// 定义类
class Student {
public:
string name;
int age;
void display() {
cout << "Student Name: " << name << ", Age: " << age << endl;
}
};
// 创建并输出实例
Student student1;
student1.name = "Alice";
student1.age = 18;
student1.display();
```
最后,我们还可以通过指针和引用来动态分配内存,展示运行时多态的例子(假设有一个基类`Shape`和两个派生类`Circle`和`Rectangle`):
```cpp
// 派生类和虚函数示例
class Shape {
public:
virtual void draw() {
cout << "Drawing a shape" << endl;
}
};
class Circle : public Shape {
public:
void draw() override {
cout << "Drawing a circle" << endl;
}
};
class Rectangle : public Shape {
public:
void draw() override {
cout << "Drawing a rectangle" << endl;
}
};
Shape* shapes[] = {new Circle(), new Rectangle()};
for (auto shape : shapes) {
shape->draw(); // 这里会根据实际指向的对象类型调用对应的方法
}
delete[] shapes; // 释放内存
```