cout << obj1.c << endl;解释
时间: 2024-06-14 20:07:38 浏览: 18
这段代码是C++代码,它的功能是输出变量obj1的成员变量c的值,并换行输出。在这段代码中,cout是C++标准库中的输出流对象,<<是输出运算符,obj1是一个对象,c是obj1的一个成员变量。
具体解释如下:
```cpp
cout << obj1.c << endl;
```
这行代码的作用是将obj1的成员变量c的值输出到标准输出流(通常是控制台),并在最后换行输出。其中,<< 运算符用于将数据插入到输出流中,obj1.c表示访问obj1对象的成员变量c的值,endl表示换行。
相关问题
#include<iostream> using namespace std; class A{ public: int a; A(int n):a(n){} }; class B{ public: int b; A obj; //在此处添加代码 }; int main(){ B a1(10); B a2 = a1; B a3 = a2; cout<<a1.b<<","<<a1.obj.a<<endl; cout<<a2.b<<","<<a2.obj.a<<endl; cout<<a3.b<<","<<a3.obj.a<<endl; return 0; }输出结果:10,10 10,30 10,90
这段代码中,需要在 class B 中添加一个构造函数来初始化 A 类的 obj 成员。正确的代码如下:
```
#include<iostream>
using namespace std;
class A{
public:
int a;
A(int n):a(n){}
};
class B{
public:
int b;
A obj;
B(int n):b(n), obj(n*3){}
};
int main(){
B a1(10);
B a2 = a1;
B a3 = a2;
cout<<a1.b<<","<<a1.obj.a<<endl;
cout<<a2.b<<","<<a2.obj.a<<endl;
cout<<a3.b<<","<<a3.obj.a<<endl;
return 0;
}
```
输出结果为:
```
10,30
10,30
10,30
```
这是因为在 class B 的构造函数中,使用了参数 n 来初始化 obj,而 n 传入的是 B 的构造函数中的参数,所以 a1、a2、a3 对应的 obj 的 a 值都是 30。
有一个汽车类vehicle,它具有一个需要传递参数的构造函数,类中的数据成员包括:车轮个数wheels和车重weight作为保护成员;小车类car是它的私有派生类,其中包含载人数passengers;卡车类truck是vehicle的私有派生类,其中包含载人数passensers和载重量payload;每个类中有相应的输出函数,输出函数名见主函数。执行并输出结果。主函数如下:intmain(){vehicleobj1(4,4);cout<<"vehicleinformation:"<<endl;obj1.display();carobj2(4,2,5);cout<<endl<<"carinformation:"<<endl;obj2.display();truckobj3(8,6,2,20);cout<<endl<<"truckinformation:"<<endl;obj3.display();return0;}
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
class Vehicle {
protected:
int wheels;
int weight;
public:
Vehicle(int w, int we): wheels(w), weight(we) {}
void display() {
cout << "Wheels: " << wheels << endl;
cout << "Weight: " << weight << endl;
}
};
class Car: private Vehicle {
private:
int passengers;
public:
Car(int w, int we, int p): Vehicle(w, we), passengers(p) {}
void display() {
cout << "Wheels: " << wheels << endl;
cout << "Weight: " << weight << endl;
cout << "Passengers: " << passengers << endl;
}
};
class Truck: private Vehicle {
private:
int passengers;
int payload;
public:
Truck(int w, int we, int p, int pay): Vehicle(w, we), passengers(p), payload(pay) {}
void display() {
cout << "Wheels: " << wheels << endl;
cout << "Weight: " << weight << endl;
cout << "Passengers: " << passengers << endl;
cout << "Payload: " << payload << endl;
}
};
int main() {
Vehicle obj1(4, 4);
cout << "Vehicle Information:" << endl;
obj1.display();
Car obj2(4, 2, 5);
cout << endl << "Car Information:" << endl;
obj2.display();
Truck obj3(8, 6, 2, 20);
cout << endl << "Truck Information:" << endl;
obj3.display();
return 0;
}
```
输出结果为:
```
Vehicle Information:
Wheels: 4
Weight: 4
Car Information:
Wheels: 4
Weight: 2
Passengers: 5
Truck Information:
Wheels: 8
Weight: 6
Passengers: 2
Payload: 20
```
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)